【原创】rsync+inotify-tools实现触发式远程数据实时同步教程

rsync+inotify-tools实现触发式远程数据实时同步教程,这里主要是我的一些rsync+inotify-tools实现触发式远程数据实时记录,有不懂的话。可以留言哈。

A备份服务器:

创建文件:/etc/rsyncd.conf 内容:

uid = nobody
gid = nobody
use chroot = no
max connections = 10
strict modes = yes
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[www]
path=/home/wwwroot/
comment = update
ignore errors
read only = no
write only = no
hosts allow = 192.168.91.125
hosts deny = *
list = false
auth users = jincon321
uid = root
gid = root
secrets file = /etc/rsyncd.secrets
#vim /etc/rsyncd.secrets           #创建rsync认证文件
内容:jincon321:123456
#chmod 0600 /etc/rsyncd.secrets   #设置权限,这里很重要,需要设置权限,不然有问题
#rsync --daemon                         #启动服务
#echo "rsync --daemon" >> /etc/rc.local             #开机自启动

ps -ef|grep rsync #检查是否启动


B内容分发服务器:

先要安装:inotify-tools 软件哦,自己安装啦,就不说了。

创建文件shell脚本文件 /home/wwwroot/inotify-tools.sh:

#!/bin/bash
host1=192.168.91.123
src=/home/wwwroot/
dst1=www
user1=jincon321
/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y' --format '%T %w%f%e' -e close_write,delete,create,attrib $src \
| while read files
do
	/usr/bin/rsync -vzrtopg --delete --progress --password-file='/etc/rsyncd.secrets' $src $user1@$host1::$dst1 
	echo "{$files} was rsynced" >>/tmp/rsync.log 2>&1
done

创建认证文件:

#vim /etc/rsyncd.secrets         #创建rsync证文件
123456   #和上面的一致。
#chmod 0600 /etc/rsyncd.secrets         #设置权限,很重要。


OK了,最后就执行脚本。

启动
#/bin/bash /root/bin/inotify-tools.sh &  

注意后门加一个 & 符号哦。哈哈。。。不然。。。

 
开机自启动
#echo "nohup /bin/bash /root/bin/inotify-tools.sh &" >> /etc/rc.local


备注:

/proc/sys/fs/inotify/max_user_watches 数量修改后重启丢失。

关键词: 远程数据实时同步 , rsync+inotify-tools搭建

上一篇: 记录下linux测试同步软件rsync错误报告中文解释
下一篇: linux下pureftp出现530错误,问题是pureftp连接mysql密码出错

目前还没有人评论,您发表点看法?
发表评论

评论内容 (必填):