我想要一个简单的工具来同步远程服务器上的两个文件夹…
不寻常的是,我只需要一个操作系统可触发的触发器(或类似的东西),可以用来自动启动rsync?
有没有这种types的东西,还是一个简单的工具可以做到这一点?
rsync每一分钟都不是一个优雅的解决scheme的问题…我想调用rsync每次在任何一个服务器,在特定的文件夹中写入/删除文件…
目标是轻松维护到远程文件夹同步
更新:也许像gamin …?
谢谢 !
一杆
在回答这个问题时 ,我build议incron 。 以类似于cron的方式设置系统范围和用户特定的configuration文件是很容易的。 您可以指定在触发文件系统事件时将运行的脚本。 它使用Linux内核inotify API。 你可以看看它,看看它是否适合你。
DRBD似乎只会做你所需要的。 它在块设备级别工作,所以如果你不想为这个同步的数据维护一个单独的分区,你可以创build一个磁盘映像并挂载它的环回,使用DRBD保持与远程服务器同步。
尝试inotify 。 为了您的相对简单的要求,这应该是最适合的。
示例脚本:
while { inotifywait -e create -e delete /directory2watch; }; do echo rsync -avz /directory2watch done
或类似的东西。
通过inotify你可以访问这些事件:
这里明显的解决scheme是afs
在任何情况下,使用DRBD都会遇到各种各样的复杂情况,但节点之间具有高度连接性的小型局域网。
但是你可以使用inotify来推出自己的解决scheme