rsync+inotify实现服务器之间文件实时同步

2 篇文章 0 订阅

rsync+inotify实现服务器之间文件实时同步

rsync 实现文件的同步

inotify 实现实时监控

服务器环境:linux centos7.0  

主:192.168.135.142

备:192.168.135.143

安装包下载(也可以使用yum安装):https://download.csdn.net/download/u010533511/11071763

测试下载目录:/www/package/

主备服务器都要安装rsync

[root@localhost package]# tar zxvf rsync-3.0.9.tar.gz 
[root@localhost package]# cd rsync-3.0.9 
[root@localhost rsync-3.0.9]# ./configure --prefix=/usr/local/rsync 
[root@localhost rsync-3.0.9]# make && make install

主服务器安装inotify-tools(备服务器不用安装)

[root@localhost package]# tar zxvf inotify-tools-3.14.tar.gz 
[root@localhost package]# cd inotify-tools-3.14 
[root@localhost inotify-tools-3.14]# ./configure --prefix=/usr/local/inotify 
[root@localhost inotify-tools-3.14]# make && make install

设置密码文件,及给密码文件设置权限(主文件只设置密码)

[root@localhost rsync-3.0.9]# cd /usr/local/rsync/ 
[root@localhost rsync]# echo "123456" >/usr/local/rsync/rsync.passwd
[root@localhost rsync]# chmod 600 rsync.passwd 

设置主配置文件

[root@localhost rsync]# vim rsync.conf


[www]   #模块名称
path = /www/   #要同步目录
read only = no
list = no
hosts allow  = 192.168.135.0/24 #允许ip
auth users =tbuser 
secrets file = /usr/local/rsync/rsync.passwd #密码文件

创建自动同步脚本

[root@localhost rsync]# vim /tmp/rsync.sh


#!/bin/bash 
# host 备服务器ip   src同步目录  des 同步的模块名称  user同步的用户
host=192.168.135.143
src=/www/
des=www
user=tbuser
/usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $src \
| while read files
do
/usr/bin/rsync -vzrtopg --delete --progress --password-file=/usr/local/rsync/rsync.passwd $src $user@$host::$des
echo "${files} was rsynced" >> /www/rsync.log 2>&1
done

备服务器安装rsync

[root@localhost package]# tar zxvf rsync-3.0.9.tar.gz 
[root@localhost package]# cd rsync-3.0.9 
[root@localhost rsync-3.0.9]# ./configure --prefix=/usr/local/rsync 
[root@localhost rsync-3.0.9]# make && make install

设置密码文件,及给密码文件设置权限(备服务器是  用户名:密码)

[root@localhost rsync-3.0.9]# cd /usr/local/rsync/ 
[root@localhost rsync]# echo "tbuser:123456" >/usr/local/rsync/rsync.passwd
[root@localhost rsync]# chmod 600 rsync.passwd 

设置备配置文件

[root@localhost rsync]# vim rsync.conf


[www]   #模块名称
path = /www/   #要同步目录
read only = no
list = no
hosts allow  = 192.168.135.0/24 #允许ip
auth users =tbuser 
secrets file = /usr/local/rsync/rsync.passwd #密码文件

创建用户

[root@localhost rsync]useradd tbuser #创建用户
[root@localhost rsync]passwd tbuser  #设置密码

 


做一条软链指向到rsync(避免启动后同步会报找不到rsync的错误)

#ln -s  /usr/local/rsync/bin/rsync /usr/bin/rsync

启动主服务器rsync:    /usr/bin/rsync --daemon --config=/etc/rsync.conf

启动备服务器rsync:    /usr/bin/rsync --daemon --config=/etc/rsync.conf

 

启动主服务器监控脚本:

# sh /tmp/rsync.sh &  在退出终端后会进程也会结束
# nohup /tmp/rsync.sh & 退出终端进程不会结束

测试在www目录下创建文件查看是否同步

rsync配置是模块化的,可以配置多个模块   [模块名称]   到下一个方括号开始或文件结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

为天空着色

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值