rsync - remote synchronized 远程同步工具;采用增量压缩方式进行同步,提高了文件同步的效率。
以下采用centos进行讲解,其他平台原理相同,自行参考研究
既然设计文件的远程同步,需要两台服务器s1\s2
环境描述:
操作系统: centos
serverA: 192.168.0.140 待同步的服务器(源服务器)
serverB: 192.168.0.141 同步到的服务器 (目标服务器)
需求: 同步serverA的目录 /home/test 到 serverB 的相同目录
安装rsync
。 源码安装(安装之前保证本机安装gcc)
rsync官网(http://rsync.samba.org/) #下载最新发行版本,目前最新版本rsync-3.1.1.tar.gz;
$ tar -zxvf rsync-3.1.1.tar.gz #解压
$ cd rsync-3.1.1 进入rsync目录
$ ./configure –prefix=/usr ;make ;make install
。 软件包安装$ yum install rsync
配置rsync
默认rsync需要配置三个文件rsyncd.conf \ rsyncd.secrets \ rsyncd.motd; 如文件不存在则创建即可
. rsyncd.conf: 主配置文件,主要配置rsync同步信息和权限设置;默认可能该文件不存在,需手动创建
$ vi /etc/rsyncd.conf #创建rsyncd.conf文件并在vi中编辑
具体内容参考我的配置
#Global Settings pid file = /var/run/rsyncd.pid port = 873 address = 192.168.0.140 #以什么身份运行rsync uid = root gid = root use chroot = false read only = no #limit access to private LANs hosts allow = 192.168.0.141 hosts deny=* max connections = 5 motd file = /etc/rsyncd.motd [backup] path = /home/test list=yes auth users = rsync secrets file = /etc/rsyncd.secrets coment = welcome backup ! log file = /var/log/rsyncd.log lock file = /var/run/rsyncd.lock
auth users属性可以添加多个用户,用户之间用逗号分隔;所有的用户必须为服务器真实存在的用户
. rsyncd.secrets: 存放用户密码文件,格式”用户名:密码”
$ vi /etc/rsyncd.secrets
参考我的配置
# username:passwd rsync:test123
修改属主
$chown root.root rsyncd.secrets
将rsyncd.secrets这个密码文件的文件属性设为root拥有, 且权限要设为600, 否则无法备份成功!
$ chmod 600 /etc/rsyncd.secrets
. rsyncd.motd : 存放rsync服务器信息,客户端连接成功显示的信息,无格式限制; 此文件不是必须,若不配置则注释掉rsync.conf中的motd file属性
$ vi /etc/rsyncd.motd
开启rsync端口873(开启防火墙)
$ vi /etc/sysconfig/iptables
添加如下记录:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT