通过lsyncd同步文件到webserver

通过lsyncd同步文件到webserver

我有两个 webapp,旧版本是 WS1,新版本是 WS2。现在我想将图片/附件从 WS1 同步到 WS2,以保持两者的运行。我找到了一些工具,如 lsyncd / unison / GlusterFS。lsyncd 非常方便,但我发现了一些问题,请帮忙。

  1. 我看过一些关于为两个 Web 服务器设置 lsyncd 的教程。但是我们可以在托管在云中的服务器中安装像 lsyncd 这样的包吗?比如 AWS。我们有 root 权限来执行此操作吗?如果没有,那么我该如何设置它?

  2. 尝试使用 lsyncd 后,它在本地运行良好。但我发现,如果服务器关闭或 lsyncd 重新启动,它将同步 WS1 和 WS2 文件夹完全相同的内容。如果我在 WS2 中有一些 WS1 没有的文件,那么重新启动 lsyncd 时这些文件将被删除。如何避免这种情况?因为 WS2 中会有新文件。

  3. lsyncd 是单向同步,有没有可靠的双向解决方案?或者有没有比同步更好的方法?比如共享一个文件服务器?

感谢您阅读这个长问题。感谢您的帮助。

答案1

关于第 2 点 - 你可以尝试
rsync = {
_extra = { “-ausS”, “--temp-dir=/tmp”, “-e”, “ssh -p 22” }
},
选项。https://github.com/axkibe/lsyncd/issues/191供参考。希望第 2 点能够解决第 3 点的问题。

http://ss64.com/bash/rsync_options.html

-u, --update 这会强制 rsync 跳过目标文件已经存在且日期晚于源文件的任何文件。

相关内容