我想要一个简单的工具来同步远程服务器上的两个文件夹......
从理论上讲,我只需要一个可用于自动触发 rsync 的 OS 可捕获触发器(或类似的东西)?
是否有类似的东西,或者有简单的工具可以做到这一点?
每分钟进行一次 rsync 根本不是一个完美的解决方案......我想在每次在任何一台服务器的特定文件夹中写入/删除文件时调用 rsync......
目标是轻松维护远程文件夹同步
更新:也许是类似野孩子... ?
谢谢 !
一杆
答案1
答案2
尝试通知. 对于您的相对简单的要求,这应该是最适合的。
示例脚本:
while { inotifywait -e create -e delete /directory2watch; }; do
echo rsync -avz /directory2watch
done
或类似的东西。
使用 inotify 您可以访问这些事件:
- access – 文件已被访问
- 修改 – 文件已被修改
- attrib – 文件属性已改变
- close_write – 文件以可写模式打开后关闭
- close_nowrite – 文件以只读模式打开后关闭
- close – 文件已关闭,无论读/写模式如何
- open – 文件已打开
- 移动 – 监视目录中的文件被移动
- create – 在监视的目录中创建了一个文件
- delete – 在监视的目录中删除了一个文件
- delete_self – 监视的文件已被删除
- unmount – 监视文件所在的文件系统已卸载
答案3
这好像是DRBD会满足您的需要。它在块设备级别工作,因此如果您不想为这些同步数据维护单独的分区,您可以创建一个磁盘映像并将其挂载回环,使用 DRBD 使所有内容与远程服务器保持同步。