我在两台机器上有巨大的模拟目录,我想server
在其中保持同步。cluster
基本情况是文件很少发生变化,但是当模拟完成时,许多大文件会立即发生变化,我希望在它们关闭后立即进行同步。
因此,我认为使用 rsync 的 cronjob 并不理想,cronjob 因为它以固定的时间间隔调用 rsync,我可能会选择太大或太小,rsync 因为它不必检查文件的修改,因为我和模拟作业是唯一访问它们的作业。
所以我的想法是使用 inotify (参见这个问题)以循环检测模拟目录中的更改,并且然后fork 到 rsync 中以保存已更改的文件。但是我不确定这是否会意外地跳过分叉完成时关闭的文件。(并且可能由于 inotify 调用 rsync 再次同步刚刚同步的文件,我也会陷入无限循环......)所以在我在那里尝试太多之前,我重复我的问题:
有没有一种工具可以挂钩两个目录并在发生变化时立即同步它们?
(基本上这就像一个离线保管箱,我猜)