下面是rsync的另一种方法,服务器端和客户端使用.
两台机器都需要安装软件包,这里不罗嗦了.
服务器端配置: cat /etc/rsyncd.conf (主要配置文件)
uid = root #root用户访问
gid = root #root组用户访问
use chroot = no #不能使用chroot
max connections = 9 #最大连接数
#list = yes #允许列出文件清单
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
hosts allow = 192.168.200.170 #只允许这个主机访问(注意既是客户端的ip地址)
[data] #发布项
path = /home/data/ #发布的路径
ignore errors
read only = yes #只读
auth users = root #认证用户为root
secrets file = /etc/sery.pass #密码文件
------------------------------------------------------------------------------------
下面是密码文件
[root@mailsvr ~] # cat /etc/sery.pass
root:123456
权限为600
服务器端配置完成
客户端 配置:
只需要安装rsync包即可
接下来创建密码文件
[root@mailsvr ~] # cat /etc/sery.pass --->(客户端定义的密码)
123456 #这里只需要输入服务器端密码文件中定义的密码即可.
使用命令开始同步
[root@mailsvr ~] # rsync -aSvH --password-file=/etc/sery.pass root@192.168.200.149::data /home/ -->(将服务器端的备份发布路径同步到本地机的/home下,注意root@192.168.200.149::data冒号后的data既是path = /home/data/发布的路径)
如果再做此步骤,抛出如下异常,具体的日志:
[root@xyh ~]# rsync -aSvH --password-file=/etc/sery.pass root@192.168.200.149::data /home
拥有帝国一切,皆有可能。欢迎访问phome.net
rsync: failed to connect to 192.168.200.149: No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(107) [receiver=2.6.8]
解决方法:客户端和服务器端都关闭防火墙 service iptables stop即可
解释:
--password-file=/etc/sery.pass 这段是密码文件,如果不加这段,需要手动输入服务器端定义好的密码.
root@192.168.200.149::data 这里的:data是服务器端的发布项.
如果文件比较大,可以使用nohup将进城放在后台执行,
[root@mailsvr ~] # nohup rsync -aSvH --password-file=/etc/sery.pass root@192.168.200.149::data /home/ >rsync.log &
上面的表示将远程机器192.168.200.149机器上发布的data目录,同步到本地机器的/home/目录下.
Rsync同步常见问题总结:
错误一:
@ERROR: auth failed on module xxxxx
rsync: connection unexpectedly closed (90 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(150)
解决:这是密码设置错了,无法登入成功,检查一下rsync.pwd,看客服是否匹配.还有服务器端没启动rsync 服务也会出现这种情况.
错误二:
password file must not be other-accessible
continuing without password file
Password:
解决:这是rsyncd.pwd rsyncd.sec的权限不对,应该设置为600.如:chmod 600 rsyncd.pwd
错误三:
@ERROR: chroot failed
rsync: connection unexpectedly closed (75 bytes read so far)
rsync error: error in rsync protocol data stream (code 12) at io.c(150)
解决:这是你在 rsync.conf 中设置的 path 路径不存在,要新建目录才能开启同步.
错误四:
拥有帝国一切,皆有可能。欢迎访问phome.netrsync: failed to connect to 218.107.243.2: No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(104) [receiver=2.6.9]
解决:对方没开机、防火墙阻挡、通过的网络上有防火墙阻挡,都有可能.关闭防火墙,其实就是把tcp udp 的873端口打开.
拥有帝国一切,皆有可能。欢迎访问phome.net |