在两个系统中都要安装epel源,然后都要安装unison:
yum -y install epel-release
yum makecache
1、安装 inotify-tools
yum -y install inotify-tools
安装完成后会生成两个命令
/usr/bin/inotifywait
/usr/bin/inotifywatch
2、安装unison
yum -y install unison
unison -version
3、主机互信
A服务器生成密钥
ssh-keygen -t rsa
拷贝公钥到B服务器
ssh-copy-id -i id_rsa.pub root@{服务器B的ip}
即可登录B服务器
ssh root@{服务器B的ip}
如果不生效检查 /etc/ssh/sshd_config PubkeyAuthentication 是否被设置成了no
4、创建同步脚本
sync.sh
#!/bin/bash
ipB=192.168.2.120
srcA=/home/sync/
dstB=/home/backup/
/usr/bin/inotifywait -mrq -e create,delete,modify,move,attrib $srcA | while read line
echo '执行开始'
do
/usr/bin/unison -batch $srcA ssh://$ipB/$dstB
echo -n "$line " >> /var/log/inotify.log
echo `date | cut -d " " -f1-4` >> /var/log/inotify.log
done
echo '执行完成'
后台运行脚本
nohup sh sync.sh > nohup.log 2>&1 &
两台服务器上同时运行sh -x sync.sh,实现同步。
-x 实现shell 逐条语句的跟踪