rsync自动同步
一、介绍
考虑到服务器数据的安全,考虑增加一台备份服务器,通过数据同步,达到较好的冗余。
二、建立rsync服务器
1、IP信息   
服务端:192.168.1.107
客户端:192.168.1.144
2、服务端
主配置文件
      #vim /etc/rsyncd.conf
       log file = /var/log/rsyncd.log
       pid file = /var/run/rsyncd.pid
       lock file = /var/run/rsync.lock
       [test]                                  #rsync区段的设定名称
       path = /home                            #需要同步的数据存放路径
       comment = test folder                   #注释
       use chroot = yes                        #
       uid = nobody                            #采用什么身份进行文件读取
       gid = nobody                            #同上,必须是有读取path权限的用户、组
       ignore errors                           #忽略错误
       read only = yes                         #只读
       list = no                               #不能列表
       auth users = yanchao                    #连接rsync服务的帐号
       secrets file = /etc/rsyncd.secrets      #指定存放帐号密码的位置
账号密码文件
#vi /etc/rsyncd.secrets
yanchao:123                            #格式:账号:密码(每行一组,账号和密码用:分开)
保存后,需要保证用户是root,权限为600
#chown root:root /etc/rsyncd.secrets
#chmod 600 /etc/rsyncd.secrets
启动rsync服务     
#/usr/bin/rsync --daemon
保证开机自动启动
①修改/etc/xinetd.d/rsync文件,把其中的disable=yes改为disable=no
重新启动xinetd服务,/etc/init.d/xinetd restart
②echo "/usr/bin/rsync --daemon" >> /etc/rc.local
3、客户端
#rsync -azv --delete rsync://yanchao@192.168.1.107/test /home/backup/ --password-file=/etc/test
#vi /etc/test
123                         #指定访问密码
#chmod 600 /etc/test
4、定时同步      
另外,由于rsync客户端没有定时功能,我们可以通过在crontab中增加计划任务实现定时的同步。
#corntab -e
0 22 * * * /usr/bin/rsync -azv --delete rsync://yancho@192.168.1.107/test /home/backup/ --password-file=/etc/test                    #指定每天晚上十点进行同步,根据公司业务具体而定。
三、总结 
使用rsync的优点:可通过ssh进行网络加密传输,也可以利用ssh客户端密钥建立信任关系。当在两台计算机之间保持大型、复杂目录结构的同步时候,比tar或wget等方式都要快。而且可以做到精确同步。
补充
Linux 防火墙是用iptables,所以我们至少在服务器端要让你所定义的rsync 服务器端口通过,客户端上也应该让通过。
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT