![使用 rsync + cron 将防火墙后面的计算机与我的保管箱同步](https://linux22.com/image/19144/%E4%BD%BF%E7%94%A8%20rsync%20%2B%20cron%20%E5%B0%86%E9%98%B2%E7%81%AB%E5%A2%99%E5%90%8E%E9%9D%A2%E7%9A%84%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%8E%E6%88%91%E7%9A%84%E4%BF%9D%E7%AE%A1%E7%AE%B1%E5%90%8C%E6%AD%A5.png)
我有一台位于防火墙后面的机器 (A),无法访问 Internet,在这台机器上,我可以 NFS 挂载另一台可以访问 Internet 的机器 (B) 上的目录,并且可以从 Internet 访问,但我无法在此机器上安装任何内容(二)。
我想让 (A) 上的一个目录与我的 Dropbox(我在所有其他计算机(不是 A 或 B)上使用的目录,它们都定期连接到互联网)。
我提出的解决方案是cron
在 (A) 上执行一项任务,调用两个rsync
命令将 (A) 上的目录与实际位于 (B) 上的 NFS 挂载目录同步。
然后我可以在互联网上的其他机器上执行 cron 作业,将我的 Dropbox 与 (B) 上的目录同步。
任何人都可以看到这个计划有任何问题,或者有更好的建议吗?
cron
除了and之外还有其他 unix 实用程序吗rsync
?
答案1
您也许可以使用齐奏同步您的文件。 Unison 使用 rsync 协议并且可以通过 ssh 运行。您可能需要将可执行文件复制到远程系统上的目录中。
使用rsync
可能会导致问题,因为很难同步文件删除。
编辑:要从系统 C(使用工作 Drobox)同步 A 上的文件夹,B 上选定的目录将成为中心,A 和 C 成为两个辐条。安排步骤,以便一次仅运行一个。
- 安排系统 C 上的 Unison 同步到 B 上的目录。
- 安排系统 A 上的 Unison 同步到 B 上的目录。(可能需要 NFS 挂载目录。)
- 如果未配置自动解决方案,请定期检查 Unison 是否存在冲突。
还有其他方法可以处理这个问题。如果B上的目录在你需要的时候总是挂载的,那么你可以跳过这一步。到 autofs NFS 挂载的符号链接可以处理这个问题。
ps我今天在使用WinSCP,发现它有同步功能。它似乎对于定期使用很有用。 Unison 似乎仍然更适合自动更新。