1.rsync的服务器端的配置:
在/etc/xined.d/rsync文件中将 disable = yes改成disable = no,然后重新启动
xinetd服务: /etc/init.d/restart
2.配置ssh:(假定在客户端和服务器使用的都是root帐户)
a.在客户端运行ssh-keygen命令生成公钥和私钥对
ssh-keygen -t(-t制定加密类型) dsa -b 1024
b.将生成的公钥(/root/.ssh/id_rsa.pub)增加到服务器端的授权的key文件(/root/.ssh/authorized_keys)中
chmod 755 ~/.ssh
scp /root/.ssh/id_rsa.pub root@Server:/root
ssh root@Server
cat id_rsa.pub >> .ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
这样从客户端登录到Server时就不再需要密码了
3.rsync的客户端
rsync --rsh=ssh(rsh=ssh同步需要使用ssh方式不制定是普通方式连接) -aqz(参数传输时压缩z压缩 a参数递归传递归档 q参数用在crondtab里使用) --delete root@Server :/src/ /dest
注意:
a.上面的命令中如果/src后面没有/,那么会在/dest下面生成src目录,如果src后面有/,则会把src目录下面的内容直接放到dest目录下
b.默认的rsync不会删除文件,只会同步增加的,--delete(加dellete是曾加同步准确性保证客户端和服务端数据一致性)选项会同步地删除服务器上删除的文件
4.如果需要每天自动同步一次,可以在把3中的这条命令写入一个文件中,存放在/etc/cron.daily目录中
比如:
cd /etc/cron.daily
touch rsync_daily
echo "rsync --rsh=ssh -aqz --delete root@Server:/src/ /dest" > rsync_daily chmod 700 rsync_daily
这样系统就会每天自动把server上指定的目录通过ssh连接同步到本地。
fengmx 于 2008-09-30 14:32:48发表:
--delete这个参数使用时考虑清楚。
要注意它,曾经失足由它。