有没有一种简单的方法可以通过 scp 自动将文件夹中修改的任何文件发送到远程文件夹?(单向同步)

有没有一种简单的方法可以通过 scp 自动将文件夹中修改的任何文件发送到远程文件夹?(单向同步)

简单来说:我有一个装满文件的文件夹,还有包含更多文件的子文件夹。我希望在远程服务器上有该文件夹的镜像,这样每当我的计算机上修改文件时,它都会通过 scp 或其他方式自动发送到远程计算机。请注意,这只是单向同步,换句话说,如果文件在远程服务器中被修改,我不需要将其发送回我的本地计算机。

基本上,我想在本地处理我的文件并确保它们被同步(发送)到远程机器。

现在我必须工作,压缩整个东西(大),通过 scp 发送整个东西,等等。

非常耗时。:( :( :(

有什么简单的方法可以实现这一点吗?我听说过 rsync,但是使用 rsync 是否容易实现这一点?非常感谢您提供分步说明。

-贝基

答案1

为了提供帮助,rsync 可能是一个适合您情况的好解决方案。rsync 手册页“用法”部分中的第二个示例(提示)适用于我需要的 80% 的情况。

一个高级设置可能适合您的情况:

  • 确保运行镜像的帐户可以通过 ssh 密钥从源服务器登录到目标服务器

  • 手动测试运行该命令至少两次。第二次应该更快

  • 将其添加到 cron 以定期运行(取决于您的设置)

另一种选择是简单地将文件系统从一台主机共享到另一台主机,从而无需完全同步,这取决于您正在做的事情。

编辑:抱歉,我的手机无法管理段落

答案2

根据使用情况,我可能会考虑使用同步。它是一个多平台解决方案(Win/Lin/OS X),至少在 Linux 上,它使用以下方式监视源目录:通知这比重复进行完整目录扫描更快、更有效,尤其是在源目录很大的情况下。Btsync 还会定期进行目录扫描,以完全同步,以防 Inotify 因某种原因错过了一些更改。如果您需要冗余多站点备份解决方案,Btsync 还允许多个目标主机,并且还提供双向同步。Btsync 是闭源的,但可以免费使用。免费是指不收费,免费是指没有许可证限制。

如果你确实需要 ssh/scp,并且不担心弄脏手指,你仍然可以使用 Inotify 来触发 scp 传输。有适用于各种编程语言的 Inotify 工具,我可能会选择pyinotify

相关内容