redhat linux4U4rsync服务

redhat linux4U4rsync服务

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连接同步到本地。
--delete这个参数使用时考虑清楚。
要注意它,曾经失足由它。