如何利用rsync同步两台服务器 (redhat 7.0版本) 之间的数据?

现今,公司里的服务器都需要进行数据同步,而rsync则是一款数据同步很好用的软件。rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息,而且是增量更新,即每次只更新不同的部分。rsync可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件。闲话少说,来进行rsync的安装吧!

A:192.168.220.133/24

B:192.168.220.141/24

将A作为rsync服务器,B作为客户机。


1.在A上 yum install -y rsync 通过yum包的方式安装好rsync,使用rpm -qa rsync检查软件包有没有安装好

2.安装好以后在/etc下默认生成rsyncd.conf文件,修改此配置文件,如下:

如何利用rsync同步两台服务器 (redhat 7.0版本) 之间的数据?_第1张图片

请将图片里面的/home改为/backup,我忘记改了==,因为下面都是按照同步/backup来写的

3.可以看到,/etc/rsyncd.motd、/etc/rsyncd.log与/etc/rsyncd.secrets默认是没有的,需要我们自己touch。touch好后,在/etc/rsyncd.secrets里面需要写上用户名与对应的密码,密码随意,这里以root和simon为例。在/etc/rsyncd.motd中写上一些登陆提醒信息,内容随意。

如何利用rsync同步两台服务器 (redhat 7.0版本) 之间的数据?_第2张图片

如何利用rsync同步两台服务器 (redhat 7.0版本) 之间的数据?_第3张图片

4.一切做完以后,需要关闭selinux,还需要再防火墙上开873端口,这是rsync默认的端口 firewall-cmd --per --add-port=873/tcp

5.开启rsync服务,使用systemctl start rsyncd ,systemctl enable rsyncd。使用netstat -lntup | grep rsync检查服务有没有开启。

5.服务器B作为客户端,在服务器B上安装好rsync,然后直接开启服务就ok,不用多做任何配置

6.公司里面一般要求每5分钟做一次同步,那么我们就需要写shell交互脚本来替我们完成这件事。交互脚本建议用expect,因为不用手动输入密码

如何利用rsync同步两台服务器 (redhat 7.0版本) 之间的数据?_第4张图片

这里面spawn后面跟同步的命令,具体什么意思请自己百度。245325是root的密码。

7.最后需要在crontab里面加入每5分钟就执行一次此脚本的命令

如何利用rsync同步两台服务器 (redhat 7.0版本) 之间的数据?_第5张图片

如此,所有的工作做完,等着服务器之间同步数据吧!

你可能感兴趣的:(如何利用rsync同步两台服务器 (redhat 7.0版本) 之间的数据?)