0
点赞
收藏
分享

微信扫一扫

Sersync+Rsync 实现数据文件实时同步

Sersync+Rsync 实现数据文件实时同步

数据同步是一种备份手段,可以使服务器安全性更高

rsync+inotify-tools与rsync+sersync架构的区别?

rsync+inotify-tools对于数据同步花费时间会比较多,它只能监听目录的变化,但是无法得知具体是那个目录发生了变化,如果监听目录过大,每次都会对整个目录进行查找,备份时使用的资源就会变大,效率低。

rsync+sersync在数据同步时可以监听目录中的变化,在进行数据同步是仅仅只会对发生改变的目录进行备份,占用资源少,效率高。

 

步骤:

1、在源数据服务器开启serync服务,监控目录变化

2、用rsync命令进行同步

3、进行配置sersync 在目标服务器进行配置rsync server

原理:

1、用户实时在sersync写入数据

2、源服务器配置了sersync服务

3、备份服务器开启rsync服务,可以同步获取源服务器上监控目录的变化

操作步骤:

开启两台linux

Sersync+Rsync 实现数据文件实时同步_xml

这里我们把centos01当作源服务器,centos02当作备份服务器用xshell进行连接


Sersync+Rsync 实现数据文件实时同步_rsync_02

在第一台上进行安装rsync和httpd

Sersync+Rsync 实现数据文件实时同步_sersync_03

开始配置rsync

vim /etc/rsyncd.conf

Sersync+Rsync 实现数据文件实时同步_rsync_04

address = 192.168.200.111

hosts allow = 192.168.200.0/24

[wwwroot]

        path = /var/www/html

        comment =  httpd server  

read only = no

        dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z

        auth users = qianming

        secrets file = /etc/rsyncd_users.db

Sersync+Rsync 实现数据文件实时同步_sersync_05

基于安全考虑我们可以对rsync的备份源进行权限控制

chmod 600

2、我们需要对备份的用户进行创建和设置密码

vim /etc/rsyncd_users.db

Sersync+Rsync 实现数据文件实时同步_html_06

注意文件名必须和配置文件中的一致

Sersync+Rsync 实现数据文件实时同步_数据同步_07

进入文件创建用户和密码

Sersync+Rsync 实现数据文件实时同步_sersync_08

注意用户名要和配置文件中一致

Sersync+Rsync 实现数据文件实时同步_数据同步_09

为了防止密码信息泄露我们要对文件进行权限管理

chmod 600 /etc/rsyncd_users.db

Sersync+Rsync 实现数据文件实时同步_rsync_10

对需要共享的文件进行权限管理

chmod 777 /var/www/html

Sersync+Rsync 实现数据文件实时同步_数据同步_11

查看权限

ls -ld /var/www/html/

Sersync+Rsync 实现数据文件实时同步_sersync_12

启动服务

rsync –-daemon

Sersync+Rsync 实现数据文件实时同步_html_13

关闭服务

killall rsync

Sersync+Rsync 实现数据文件实时同步_rsync_14

查看服务

netstat -anpt |grep rsync

Sersync+Rsync 实现数据文件实时同步_rsync_15

在备份服务器上安装httpd

yum -y install httpd

Sersync+Rsync 实现数据文件实时同步_html_16

重新启动

systemctl restart httpd

Sersync+Rsync 实现数据文件实时同步_html_17

2、为了方便我们可以在备份服务器创建密码文件,使用rsync –-password-file 指定文件免密登录

echo "pwd123" > /etc/server.pass

Sersync+Rsync 实现数据文件实时同步_html_18

设置权限

chmod  600  /etc/server.pass

Sersync+Rsync 实现数据文件实时同步_rsync_19

进行免密码交互

rsync -az --delete --password-file=/etc/server.pass /etc/hosts ​​qianming@192.168.200.111::wwwroot​

Sersync+Rsync 实现数据文件实时同步_sersync_20

在源服务器上查看是否备份成功

ls /var/www/html/

 

Sersync+Rsync 实现数据文件实时同步_数据同步_21

测试这一步成功才可以做下面的内容,不成功可以去看看配置文件是否有问题

下载sersync

goodle code地址  ​​https://code.google.com/archive/p/sersync/downloads​​

Git Hub 镜像地址  ​​https://github.com/orangle/sersync​​

在备份服务器上进行解压

Sersync+Rsync 实现数据文件实时同步_html_22

Sersync+Rsync 实现数据文件实时同步_html_23

tar -zxf sersync2.5.4_64bit_binary_stable_final.tar.gz -C /usr/local/

Sersync+Rsync 实现数据文件实时同步_html_24

进入解压后的目录

cd /usr/local/

Sersync+Rsync 实现数据文件实时同步_数据同步_25

把文件放到一个醒目的文件夹里

mv GNU-Linux-x86/ sersync

Sersync+Rsync 实现数据文件实时同步_sersync_26

进入文件夹

cd sersync/

Sersync+Rsync 实现数据文件实时同步_数据同步_27

备份源目标文件防止丢失

cp confxml.xml confxml.xml.$(date +%F)

Sersync+Rsync 实现数据文件实时同步_rsync_28

进入文件开始更改

vim confxml.xml

Sersync+Rsync 实现数据文件实时同步_sersync_29

24行和25行

<localpath watch="/var/www/html">                         # 本地同步目录     

            <remote ip="192.168.200.111" name="wwwroot"/>  

#服务器地址和 rsync模块名 

Sersync+Rsync 实现数据文件实时同步_xml_30

31行更改用户名和密码文件

<auth start="true"

users="qianming"                                        //用户

passwordfile="/etc/server.pass"/>            密码文件

Sersync+Rsync 实现数据文件实时同步_html_31

保存后开启进程同步数据

              ./sersync2 -d -r -o /usr/local/sersync/confxml.xml

Sersync+Rsync 实现数据文件实时同步_xml_32

              watch path is: /var/www/html //开始监听指定目录

Sersync+Rsync 实现数据文件实时同步_rsync_33

进入目录测试同步效果

cd /var/www/html/

mkdir benet

     touch {1..4}.txt

Sersync+Rsync 实现数据文件实时同步_html_34

进入源服务器查看

Sersync+Rsync 实现数据文件实时同步_xml_35

配置完成


举报

相关推荐

0 条评论