Rsync(remote sync)是UNIX及类UNIX平台下一款神奇的数据镜像备份软件,它不像FTP或其余文件传输服务那样须要进行全备份,Rsync能够根据数据的变化进行差别备份,从而减小数据流量,提升工做效率。你可使用它进行本地数据或远程数据的复制,Rsync可使用SSH安全隧道进行加密数据传输。Rsync服务器端定义源数据,Rsync客户端仅在源数据发生改变后才会从服务器上实际复制数据至本地,若是源数据在服务器端被删除,则客户端数据也会被删除,以确保主机之间的数据是同步的。Rsync使用TCP 873端口。web
rsync的安装很简单,咱们通常用的centos系统直接yum就能够安装:
shell
yum install -y rsync
这里咱们以2台服务器来演示,A服务器:192.168.0.1,B服务器:192.168.0.2,B服务器须要同步A服务器的/web目录,咱们首先操做B服务器:vim
vim /etc/rsync.conf
#日志位置 log file = /var/log/rsyncd.log #pid文件位置 pidfile = /var/run/rsyncd.pid #lock文件位置 lock file = /var/run/rsync.lock #同步的帐号密码文件 secrets file = /etc/rsync.pass #同步提示显示设置文件 motd file = /etc/rsyncd.Motd #同步的自定义模块名称 [web] #同步的目录 path = / comment = web #同步用的uid uid = root #同步用的gid gid = root #rsync监视端口 port=873 use chroot = no read only = no list = no max connections = 2 timeout = 600 #验证用户 auth users = web #容许同步的远端服务器ip hosts allow = 192.168.0.1 #禁止同步的远端服务器ip hosts deny = *
#设置同步的帐号密码 echo "tom:pass" > /etc/rsync.pass chmod 600 /etc/rsync.pass
启动rsync服务:
centos
rsync --daemon
这里你们要记得看看服务器的防火墙有没有阻止873端口,阻止的话记得打开不是同步会报错。
安全
到这里B服务器的部署已经完成,转到A服务器上同样的先须要安装rsyncbash
yum install -y rsync
创建同步验证的密码文件服务器
echo "pass" > /etc/passwd.txt
测试同步效果,注意必定要当心不要同步错了方向,最好拿一个没用的目录来测试,这里咱们直接测试:ide
rsync -avH --port=873 --progress --delete /web tom@192.168.0.2::web --password-file=/etc/passwd.txt
查看2边目录文件是否一致,没有问题就保存为shell文件rsync.sh,并作一个crontab每分钟同步一次:测试
*/1 * * * * /bin/sh /root/rsync.sh >>/var/log/rsync.log 2>&1
到这里就大功告成了!!ui