Linux 服务器 inotifywait + async 实现两台服务器文件夹同步 时间: 2021-06-17 19:25 分类: 服务器 ####需求 A 服务器某个文件夹下的全部内容实时备份到 B 服务器。 ####第一步 在 A、B 服务器上安装 `async`: > apt install rsync ####第二步 A 服务器上执行: > ssh-keygen > ssh-copy-id B服务器IP ####第三步 A 服务器安装`inotify-tools`: > apt-get install inotify-tools ####第四步 编写备份脚本 backup.sh ``` #!/bin/bash inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e modify,delete,create,attrib /usr/local/www/bddy/ | while read file do rsync -avPz --delete --progress A服务器文件目录 B服务器IP:B服务器文件目录 done ``` 最后后台运行: > nohup sh backup.sh > /dev/null 2>&1 & 注意:不要像其他某些博文去用什么定时任务,类似如下: ``` crontab -e * * * * * sh /home/paul/inotifywait-rsync.sh ``` 因为`inotifywait`本身就是阻塞一直监听,使用上面的定时任务就是每分钟执行一次,实际上我们只需要执行一次即可,也就是添加到服务器开机启动项即可。 标签: 无