Rsync+Inotify
在客户端安装,首先查看是否支持
[root@rsync-c ~]# ll /proc/sys/fs/inotify/
总用量0
-rw-r�r� 1 root root 0 7月 8 16:40 max_queued_events
-rw-r�r� 1 root root 0 7月 8 16:40 max_user_instances
-rw-r�r� 1 root root 0 7月 8 16:40 max_user_watches
有这2个文件即支持。
解压安装
tar -zxvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure �prefix=/usr/local/inotfiy
make && make install
人工监控创建,打开另一窗口操作,这个窗口监控。
监控创建监听目录
[root@rsync-c ~]# inotifywait -mrq �timefmt ‘%d/%m/%y-%H:%M’ �format ‘%T %w%f’ -ecreate/backup
同时监控创建,删除,写入
inotifywait -mrq �timefmt ‘%d/%m/%y-%H:%M’ �format ‘%T %w%f’ -e create,delete,close_write /backup
监控脚本,客户端写入删除操作同步写入到 服务端指定的目录中。
#!/bin/bash
host1=”192.168.199.235″
src=/backup源目录
dst=www 目的目录
user=backup rsync用户
passfile=/etc/rsyncd.passwd 密码文件路径
if [! �e “$src”]\
|| [ ! �e “${passfile}” ] \
|| [ ! �e “/usr/bin/rsync” ] \
Then
echo “ ”
inotifywait -mrq �timefmt ‘%d%m%y %H:%M’ �format ‘%T %w%f’ -e close_write,create,attrib $src \
|while read file
do
cd $src && rsync -aruz -R �delete ./ �timeout=100 $user@$host1::$dst �password-file=${passfile} 2>&1
done
exit 0
也可以用一个做写入监控同步,一个做删除监控同步
写入监控同步:
[root@rsync-c scripts]# cat cr.sh
#!/bin/bash
host1=”192.168.199.235″
src=/backup
dst=www
user=backup
passfile=/etc/rsyncd.passwd
inotifywait -mrq �format ‘%w%f’ -e close_write,create $src \
|while read line
do
rsync -az $line$user@$host1::$dst �password-file=${passfile} 2>&1
done
exit 0
删除监控同步:
#!/bin/bash
host1=”192.168.199.235″
src=/backup
dst=www
user=backup
passfile=/etc/rsyncd.passwd
inotifywait -mrq �timefmt ‘%d%m%y %H:%M’ �format ‘%T %w%f’ -e delete $src \
|while read file
do
cd $src && rsync -aruz -R �delete ./ �timeout=100 $user@$host1::$dst �password-file=${passfile} 2>&1
done
exit 0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。