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

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

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

开始配置rsync

vim /etc/rsyncd.conf

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

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

chmod 600

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

vim /etc/rsyncd_users.db

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

进入文件创建用户和密码

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

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

chmod 600 /etc/rsyncd_users.db

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

chmod 777 /var/www/html

查看权限

ls -ld /var/www/html/

启动服务

rsync –-daemon

关闭服务

killall rsync

查看服务

netstat -anpt |grep rsync

在备份服务器上安装httpd

yum -y install httpd

重新启动

systemctl restart httpd

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

echo "pwd123" > /etc/server.pass

设置权限

chmod  600  /etc/server.pass

进行免密码交互

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

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

ls /var/www/html/

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

下载sersync

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

Git Hub 镜像地址  GitHub - orangle/sersync: just a git mirror of sersync

在备份服务器上进行解压

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

进入解压后的目录

cd /usr/local/

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

mv GNU-Linux-x86/ sersync

进入文件夹

cd sersync/

备份源目标文件防止丢失

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

进入文件开始更改

vim confxml.xml

24行和25行

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

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

#服务器地址和 rsync模块名 

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

<auth start="true"

users="qianming"                                        //用户

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

保存后开启进程同步数据

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

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

进入目录测试同步效果

cd /var/www/html/

mkdir benet

     touch {1..4}.txt

进入备份服务器查看

配置完成

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

<auth start="true"

users="qianming"                                        //用户

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

保存后开启进程同步数据

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

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

进入目录测试同步效果

cd /var/www/html/

mkdir benet

     touch {1..4}.txt

进入备份服务器查看

配置完成

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值