平台:rhel 5
client:172.16.0.1 /test/
server:172.16.0.10 /data/
目的将client上的/test/目录下的内容推进server下的/data/目录.
server上的配置:
1,创建/etc/rsyncd.conf内容如下
uid = root
gid = root
use chroot = no
max connections = 4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/run/rsyncd.log
[data]
path = /data
read only = no
auth users = jack
secrets file = /etc/rsync.pw
2,创建认证文件/etc/rsync.pw
touch /etc/rsync.pw
echo “jack:jack” > /etc/rsync.pw
3,修改认证文件的属性
chmod 0600 /etc/rsync.pw
4,启动服务
rsync –daemon –config=/etc/rsyncd.conf
client上配置:
1,创建密码文件及修改文件属性
touch /etc/rsync.pw
echo “jack”>/etc/rsync.pw
chmod 0600 /etc/rsync.pw
2,开始推送目录
rsync -vzrtopgu –progress –delete –password-file=/etc/rsync.pw /test/ jack@172.16.0.10::data
上面的推送命令中的/test/一定要这样写,不能写成/test不然会在data目录下创建一个test目录并同步内容.
3,如有必要可配合crontab自动定时推送
实验:
在client上的/test/创建一个有内容的文件,然后运行推送命令,到server上的data目录下查看是否有文件送达,如有则成功
关于rsync同步的一些测试结论:
1.只同步改变过的文件,包括修改,重命名,(属性的修改及文件删除不会产生文件的重新传输)
2. 目录重命名后即便目录下的文件未改变,也将重新同步一次,所以如无必要尽量不更改目录名
我的测试方法
在源服务器的同步目录中创建一个新目录叫new并在这个目录中放一个800M的文件(文件名叫test.iso),在目标机器上运行ifstat实时查看流量.
1,在源服务器上运行推送命令,切换至目标服务器可以从ifstat中看到有流量传输,直到传输完成.
2,修改test.iso的属性为666,然后再次发出推送命令,ifstat中没有高流量,所以可见文件不被再次传输(删除文件也是同样道理)
3,将new目录改名为new2,再次推送,从ifstat中发现出现高流量传输,可见目录名改了后虽然目录下的test.iso没变但仍然重新传了一次.
http://www.wangdongbo.com/archives/203 |