设为首页 收藏本站
查看: 549|回复: 0

[经验分享] rsync+inotify文件实时同步

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-9-2 08:40:08 | 显示全部楼层 |阅读模式
安装环境:
server:192.168.2.183
client:192.168.2.222
两台服务器上分别安装:
1
yum install rsync -y



sever端配置rsync文件vi /etc/rsyncd.conf 默认配置文件不存在自己创建,以下为配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
uid = nobody
gid = nobody
port = 873
host all = 192.168.2.222
use chroot = on
max connections = 4
timeout = yes
[web]
path = /var/www/html/
comment = rsync files
ignore errors
read only = no
list = yes
auth users = rsync
secrets file = /etc/rsync_server.passwd
~



创建密码通信文件vi /etc/rsync_server.passwd 并给与600权限
1
2
3
[iyunv@localhost ~]# cat  /etc/rsync_server.passwd   
rsync:rsync
chmod 600 /etc/rsync_server.passwd



启动rsync
1
rsync --daemon



查看监听端口
1
2
3
[iyunv@localhost ~]# netstat -ntulp | grep rsync
tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN      20404/rsync         
tcp        0      0 :::873                      :::*                        LISTEN      20404/rsync



rsync配置完毕

client端配置
实现实时同步需要安装inotify文件检查工具

下载安装
1
2
3
4
wget http://github.com/downloads/rvoi ... y-tools-3.14.tar.gz
  ./configure --prefix=/usr/local/inotify
   
  make && make install



编写脚本inotify.sh然后后端执行,脚本内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/bin/bash
host=192.168.2.183
src=/data/soft/
dst=web
user=rsync
inotifywait=/usr/local/inotify/bin/inotifywait
rsync=/usr/bin/rsync
$inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w %f' -e modify,delete,create,attrib $src |
while read file DATE TIME DIR;
do
$rsync -vzrtopg --delete --progress  $src $user@$host::$dst --password-file=/etc/rsync_client.passwd
echo "${files} was rsynced" >> /var/log/rsync.log 2>&1
done



客户端创建rsync同步密码文件rsync_client.passwd  并给与600权限
1
2
3
4
[iyunv@node2 ~]# cat /etc/rsync_client.passwd  
rsync
chmod 600  /etc/rsync_client.passwd  
rsync



然后
后台运行inotify.sh脚本
1
2
3
4
nohup sh inotify.sh &
[iyunv@node2 ~]# jobs
[1]+  Running                 nohup sh inotify.sh &
fg是调用后台运行的程序的,



然后测试客户端将文件推送到服务端:
在客户端/data/soft/下创建删除文件,服务端的/var/www/html/目录下也会实时同步,/html/目录要有写的权限



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-108535-1-1.html 上篇帖子: Linux磁盘分区管理 下篇帖子: 在linux下使用嵌入式qt
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表