我一直在使用 rsync 在我的两台服务器之间同步一堆文件。我设置了一个每分钟运行一次 rsync 的 cron 作业。但是,我更希望它始终运行,以便文件在更改时同步。什么是最好的方法来做到这一点?
谢谢。
如果您的内核中有 inotify,请查看inotify-tools。
该页面上有一个示例:
#!/bin/sh
# A slightly complex but actually useful example
inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %f' \
-e close_write /home/billy | while read date time file; do
rsync /home/billy/${file} rsync://billy@example.com/backup/${file} && \
echo "At ${time} on ${date}, file ${file} was backed up via rsync"
done
Run Code Online (Sandbox Code Playgroud)