rsync集合inotify工具
先配置两台主机的免密码登录
# ssh-keygen
# ssh-copy-id root@192.168.8.138
配置另一台免密码登录
# ssh-keygen
# ssh-copy-id root@192.168.8.137
1.主机A–>主机B(备份机)
A主机
# yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel
# tar xf inotify-tools-3.13.tar.gz -C /usr/local/
# cd /usr/local/inotify-tools-3.14
# ./configure && make && make install
# cd;vim inotify.sh
/usr/local/bin/inotifywait -mrq -e modify,delete,create,attrib,move /app/java_project |while read events
do
rsync -av --delete /app/java_project/ root@192.168.8.138:/backup/app1_java 2>&1
echo "`date +%F\ %T`出现事件$events" >> /var/log/rsync.log 2>&1
done
# chmod +x inotify.sh
# nohup ./inotify.sh &
& : 让inotify.sh在计算机后台运行,可以使用jobs命令查看,kill %编号结束,当我们退出终端时,这个执行会自动结束
nohup : 让程序一直在后台运行,即使我们关闭了终端
# cat /var/log/rsync.log
查看rsync.log日志文件
2.主机b–>主机A(备份机)
A主机
# yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel
# tar xf inotify-tools-3.13.tar.gz -C /usr/local/
# cd /usr/local/inotify-tools-3.14
# ./configure && make && make install
# cd;vim inotify.sh
/usr/local/bin/inotifywait -mrq -e modify,delete,create,attrib,move /backup/app1_java |while read events
do
rsync -av --delete /backup/app1_java root@192.168.1.12:/app/java_project 2&>1
echo "`date +%F\ %T`出现事件$events" >> /var/log/rsync.log 2>&1
done
# chmod +x inotify.sh
# nohup ./inotify.sh &