rsync同步数据

rsync作为一款在linux下实现同步数据的服务,估计是搞运维的兄弟必备工具了,不但能实现数据同步,最重要的是实现能实现增量备份的同时实现数据的校验,而且rysnc命令本身带的参数非常多 ,基本上平时我们需要的都可以找到,所以今天我们就简单来设置下如何实现两台机器的数据同步,开始前我说下要准备的环境,假设你有2台机器,A和B,需求是你要将A机的数据每天同步到B机上,环境准备好,我们就开始今天的操作环节了:

A机设置:

首先安装rsync(如果没有的话),终端下运行:  yun install rsync

安装完毕,设置rsync.conf配置文件,vi /etc/rsync.conf(默认没有这个文件,直接创建),配置信息如下:

配置文件没什么特别要讲的,看单词也基本知道是什么意思了,path是设置你要同步的目录,其它所以不多说了,不理解的自行找度娘解决。

接下来根据配置文件内容,创建客户单访问rsync服务的密码文件,也是直接vi /etc/ftpbackuser.pass,写入:

backup:yourpassword

格式为冒号分割用户名和密码,冒号前是用户,冒号后是密码

然后修改权限为600,运行:

然后启动rsync服务:

用pa aux 查看进程是否正常,端口873是否开启,如果都没问题,那到此A机上也设置完毕了。

B机操作:

首先也同样要安装rsync,然后新建一个密码文件,vi /etc/server.pass 写入A机种设置的密码:

设置权限:

设置完了,接下来我们运行下同步命令测试下:

如果能看到A机上script目录同步过来,那就表示正常了,这里命令的参数也是常用参数,只需注意

–delete这个参数就行了,带上这个表示严格与服务端同步,意思就是如果你在B机上script目录里新建了一个文件,那么在下次同步时会被删除,这个要注意。

最后将该命令写入脚本文件中,例如rysnc_back.sh,例如:

脚本中输出的内容可以重定向到log文件中,以备后续有问题时查找原因。

将脚本加入crontab中,定时运行,例如:

* 3 * * * /root/rsync_back.sh

该命令表示每天凌晨3点运行一次,具体如果同步可以根据自己业务自行设置同步时间,如果同步的文件量较大,为避免业务受影响,最好是凌晨去执行。