转贴文章:酷学园
http://phorum.stu...a.org/用rsync做备份
会用rsync 是因为我用mirror去备份windows上的东西时,会有目录结构上的问题.
且我要备份的档案都上百MB用mirror去备份也不实际,基于这二点我就试了rsync.
http://phorum.study-area.org/v...p=75850#75850 关于rsync 的优点可以参考下面的连结,也是我实作时参考的资料.
http://linux.tnc.edu.tw...rsync.htm http://www.linux.org.tw...sync.html http://www.fanqiang.com/a6/b7/...001258_b.html rsync on linux
检查有没有安装rsync套件.
rpm -qa | grep rsync
若没有,到
http://rpmfind.net/linux/rpm2h...p?query=rsync 或
http://rsync.samba.o...oad.html 下载安装.
设定Rsync Server.
vi /etc/xinetd.d/rsync
代码:
disable = no
service xinetd restart
[主机代号:自订]
path = 备份资料放置的路径
auth users = 定义援权的帐号
uid = 应是执行时的uid
gid = 应是执行时的gid
secrets file = 认证密码档的位置
read only = 是否唯读
自行建立rsyncd.conf
vi /etc/rsyncd.conf
代码:
[apache]
path = /home/users/public/Studio
auth users = apache-admin
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
read only = no
自行建立rsyncd.secrets
vi rsyncd.secrets
代码:
apache-admin:secret
chown root:root /etc/rsyncd.secrets
chmod 600 /etc/rsyncd.secrets
设定Rsync Client.
自行建立rsyncd.secrets
vi /etc/rsyncd.secrets
代码:
secret
chmod 600 /etc/rsyncd.secrets
执行
/usr/bin/rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.secrets /var/www/html apache-admin@172.16.7.253::apache
看看/home/users/public/Studio看看有没有备份过来吧!! ^^
另外若"/var/www/html apache-admin@172.16.7.253::apache"的位罝对调,则备份的方向也对调哦!
ps: /var/www/html 为client 端,欲备份的目录,而172.16.7.253为server ip
参考资料
http://linux.tnc.edu.tw...rsync.htm http://www.linux.org.tw...sync.html http://www.fanqiang.com/a6/b7/...001258_b.html RSync 实作纪录于 Windows 2k pro
这是我参考下面这份文件做出来的.
http://www.numbsk...rsync/ 下载
http://users.tseinc.com...rsync.zip,并解压至c:\rsync
复制 cygwin1.dll 到C:\WINNT\system32下.
接着进command line,执行下面三行.
cd c:\rsync
instsrv Rsync "c:\rsync\srvany.exe"
exit
按"开始","执行",下"regedit"
搜找下列机码.
HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Services -> Rsync
在Rsync按右键,"新增"->"机码",名称改为Parameters
在Parameters按右键,"新增"->"字串值",名称改为AppDirectory,执行它,并在"值的资料"输入"c:\rsync"
在Parameters按右键,"新增"->"字串值",名称改为Application,执行它,并在"值的资料"输入"c:\rsync\rsync.exe"
在Parameters按右键,"新增"->"字串值",名称改为AppParameters,执行它,并在"值的资料"输入--config="c:\rsync\rsyncd.conf" --daemon
再来执行"控制台"->"系统管理工具"->"服务"找到Rsync按右键"启动"
接着进command line执行:
telnet localhost 873
接着下quit
cd c:\rsync
rsync localhost::
您应该会看到"mame"出现在萤幕上.
若看到那表示,您的rsync己经是work的了. ^^
接下来,在下将在linux及windows 2k pro上做测试,二个平台互为server及client,并使用不认证使用者的方式.
环境:
pc-a为linux
ip为172.16.7.253
欲备份的目录为 /rsync_data/output
备份的目录为 /rsync_data/input
pc-b为windows
ip为 172.16.4.4
欲备份的目录为 c:\rsync_data\output
备份的目录为 c:\rsync_data\input
先设定linux上的rsyncd.conf档.
vi /etc/rsyncd.conf
代码:
[pc-a_output]
path = /rsync_data/output
readonly = yes
再设windows上的rsyncd.conf档.
编辑 C:\rsync\rsyncd.conf
代码:
[pc-b_output]
path = c:\rsync_data\output
readonly = yes
这样就设好了,分别执行看看(执行时别忘了,copy 些不同的资料到pc-a及pc-b的output目录哦!).
从pc-1上把pc-b上的rsync server 备份回来.
/usr/bin/rsync -arv --delete 172.16.4.4::pc-b_output /rsync_data/input
从pc-2上把pc-a上的rsync server 备份回来.
c:\rsync\rsync.exe -arv --delete 172.16.7.253::pc-a_output c:\rsync_data\input
好啦!看看pc-a及pc-b的input目录下,是不是有对方output目录的东西呢?若看到了就成功啰!
另外,我在linux与linux加上AUTH皆没问题,但一遇上windows就会 auth failed,不清楚为什么,所以只好先用不认证的方式了.
在windows上使用sync2nas做client端.
算是下面这份文件的补充吧!
http://phorum.study-area.org/viewto...highlight=rsync 到这下载安装.
http://sourceforge.net/project/showfiles...6&release_id=79188 执行.
从左上角选择您欲备份的资料然后按">>"丢到右边.
再来要设定左下角的项目.
Appliance or Virtual IP: 输入您的server位址
Share Name:主机代号
Remote Forder:远端目录,若这里有定义,则资料将置此目录下.
User Name:帐号
Password:密码
Rsync Options:参数
Appliance or Virtual IP: 172.16.7.253
Share Name:apache
Remote Forder:
User Name:apache-admin
Password:secret
Rsync Options:-vzrtopg --progress --delete
若要更改User Name及Rsync Options可从功能表的Advanced将其enable.
右下角设定定,执行的时间及执行身份
例如:
选Replicate Once Immediately就是马上执行.
最后在按Apply执行吧!