SuSE Linux下 rsync+inotify实现文件自动同步(一)
上一篇文章介绍了SuSE Linux下rsync的配置,接下来结合inotify来实现事件触发文件同步
当然也可以不用inotify将shell命令写入到/var/spool/cron/tabs/root文件里通过定时任务来实现
环境:
Suse 11
rsync-3.1.0-12.1.x86_64 (rpm -qa|grep rsync)
inotify-tools-3.13.tar.gz
170上下载并执行下面命令,安装inotify-tools
tar zxvf inotify-tools-3.13.tar.gz
cd inotify-tools-3.13
./configure --prefix=/home/test/inotify
make && make install
接下来在/home/test/目录下新建inotify_rsync.sh脚本文件
vi inotify_rsync.sh
#!/bin/bash
host=192.168.1.170
src=/home/test/rsync
des=web
user=root
/home/test/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,attrib $src |while read files
do
/usr/bin/rsync -vzrtopg --delete --ignore-errors --password-file=/home/test/rsync.passwd /home/test/rsync/ root@192.168.1.170::web
echo "${files} was rsynced">>/home/test/rsyncd.log 2>&1
done
接下来更改文件具有执行权限
chmod 764 inotify_rsync.sh
启动脚本
sh inotify_rsync.sh &
或者nohup sh inotify_rsync.sh & 关于nohup和&的区别可以自行搜索
现在可以在170的/home/test/rsync/目录下新增修改删除目录,然后在165上/home/test/rsync/查看是否同步过来
网友评论