两台服务器之间的文件夹同步

两台服务器之间的文件夹同步

我想和你分享我的问题。我的老板希望我在两台不同的服务器上创建 2 个文件夹。我的第一台服务器位于德国,第二台位于印度。我在印度服务器上拥有管理员访问权限,在德国服务器上拥有远程访问权限,但没有管理员访问权限。在德国服务器上拥有简单的用户访问权限。我的老板希望当他们将数据放在德国服务器上时,我创建的文件夹将自动与印度服务器同步,我们将在印度文件服务器中收到所有数据。另一个文件夹位于哪里。他告诉我我将通过 cron 作业创建此作业。请告诉我如何完成这项工作?

我在印度服务器上使用 ubuntu 文件服务器。我通过远程桌面连接使用德国服务器。我在那里只使用网络驱动器。我在那里只有用户权限。

答案1

你可以使用 crontab 运行rsync命令

您可以通过现有的 VPN 连接、SSH 或本地挂载目录执行此操作。对于您的情况,一个好的起点可能是本文档展示了通过 SSH 进行 rsync 以及所需的 crontab 和命令

rsync 的优点是,在对每一方的内容和变化的内容进行(相当耗费 CPU 的)分析之后,它将仅复制发生变化的内容(即新文件或修改过的文件,在这种情况下只会发送文件中发生变化的部分!)

(根据文件类型是否压缩:如果大多数是文本,则压缩,如果大多数是二进制文件或已压缩文件,则不压缩)

但是 rsync 需要一些时间才能真正了解它的工作原理:例如,请注意,根据您指定源目录和/或目标目录的方式(以“/”结尾或不以“/”结尾),行为会非常不同。有时您必须说“dir”,有时说“dir/”,这取决于您希望如何更新目录。我建议您在虚拟子目录(/tmp/a/safe/place,到另一台主机 /tmp/another/safe/dir)上进行大量测试(特别是如果您还使用“--delete”,它也会删除以使两者匹配:不要添加 --delete,除非您 100% 确定要删除什么以及何时删除)

否则,如果您的某台服务器无法使用 rsync,请使用任何可用的复制程序(robocopy 等)。tar 通常可在多个平台上使用

答案2

您可能想要尝试通过 SMB 安装德国服务器,然后从那里复制(使用 cron 作业)。

相关内容