一、配置环境安装rsync
apt-get install rsync
安装inotify-tools
apt-get install inotify-tools
启动ssh服务
service sshd start
配置SSH公钥登陆* 生成秘钥
ssh-keygen
* 将公钥存到远程主机
ssh-copy-id username@ip
二、脚本示例示例dir_sync.sh
#!/bin/shsrc="http://yongqing.is-programmer.com/home/wyq/workspace/src/DST=wyq@localhost:/home/wyq/workspace/dest#增量同步(同步)dir_sync(){ echo ""开始同步" #rsync -avz --delete $SRC $DST #完全一致同步 rsync -avz $SRC $DST echo "完成同步!"}#主函数main(){ # 启动时先同步一次 dir_sync echo "进入阻塞状态,等待触发事件..." #循环 inotifywait -mrq -e modify,delete,create ${SRC} | while read D E F do echo "目录变化" $D, $E, $F # 执行同步 dir_sync echo "进入阻塞状态,等待触发事件..." done}#入口echo "启动同步"main
命令rsync -avz $SRC $DST-a 归档模式,递归传输所有文件,并保持文件属性-v 详细模式-z 压缩传输命令inotifywait -mrq -e modify,delete,create ${SRC}-m 无期限地执行-r ?监控一个目录下的所有子目录-q ?精简输出-e ?监视的事件?
原文地址:rsync+inotify-tools+ssh触发式同步, 感谢原作者分享。 于是夜莺会在黎明到来之前勇敢的将胸膛顶住蔷薇的刺,