标签:rsync通过服务同步
演示:
#vi /etc/rsyncd.conf //编辑配置文件
把上图的rsyncd.conf样例粘贴到配置文件中
#rsync --daemon //启动服务
#ps aux |grep rsync 或者 #netstat -lntp 查看873端口有没有启动
#rsync -avP /tmp/1.txt 192.168.1.150::test/2.txt //test是rsyncd.conf配置文件中的[test]模块名字
遇到问题:执行不成功,排查
首先#ping 192.168.1.150是否能通,能通,则
#telnet 192.168.1.150 873 //结果telnet873端口不通,可能是防火墙的问题,
#iptables -nvL 查看规则,果然是防火墙问题
#systemctl stop firewalld //把A和B机器的firewalld都关闭掉
#telnet 192.168.1.150 873 //再次telnet测试就通了,按Ctrl+],再quit就可以退出telnet了
#rsync -avP /tmp/1.txt 192.168.1.150::test/2.txt //执行rsync命令
对rsyncd.conf文件详解:
需要特别注意rsyncd.conf配置文件中的use chroot true|false的含义
#rsync -avP --port 8730 192.168.1.150::test/2.txt /tmp/1.txt //--port 8730指定端口号,8730为在rsyncd.conf文件中自定义的端口号
#rsync --port 8730 192.168.1.150:: //这样就可以查看到该服务器上的可用模块
list=false //为了安全起见,list建议修改为false,这样别人就列不出你的模块名
设置用户名密码:
#vim /etc/rsyncd.passwd //首先在rsync服务端A机器上编辑#vim /etc/rsyncd.passwd文件,在里面输入账号密码 test:123456 ,格式为 用户名:密码
#chmod 600 /etc/rsyncd.passwd //修改它的权限为600
再在客户端B机器上进行测试是否需要密码:
#rsync -avP /tmp/1.txt --port 8730 test@192.168.1.150::test/2.txt //执行这个命令需要加用户名,然后输入在服务端A机器上设置的密码,即可进行同步备份
需求:
需要使用rsync在每天凌晨备份数据库,但是上面我们使用的是需要手动输入密码才能进行同步的,这样,我们可以在客户端B机器上也设定一个密码文件
#vim /etc/rsync_pass.txt
在这个配置文件中只输入一个服务端A机器上设置的密码就可以,即输入 123456
#chmod 600 /etc/rsync_pass.txt //修改它的权限为600
#rsync -avP /tmp/1.txt --port 8730 --passwd-file=etc/rsync_pass.txt test@192.168.1.150::test/2.txt //这样就可以不输入密码进行同步备份了(注意,这两行是一条完整的命令)
标签:rsync通过服务同步
原文地址:http://blog.51cto.com/13669226/2117292