1

我正在使用 LSync 为两个运行 Apache 的独立 CentOS 7 服务器同步 Web 根目录。到目前为止,它似乎运行得很好,但每隔一段时间,我就会注意到 lsync 不能正确处理文件。

我遇到的问题的一个示例 - 如果我在server01server02上有一个名为hello-world.txt的文件,并且我从server01中删除它,当 lsync 运行时,而不是从server02中删除它,它实际上是重新创建它在server01上。

我还没有在网上找到任何关于这个的信息,而且我是使用 lsync 的新手,所以我不太确定如何解决这个问题。

不确定是否需要,但这是 lsync 配置文件 ( /etc/lsyncd.conf):

settings {
    logfile = "/var/log/lsyncd.log",
    statusFile = "/var/log/lsyncd.stat",
    statusInterval = 2
}

sync {
    default.rsync,
    source="/var/www/",
    target="192.168.1.36:/var/www/",
    rsync={
        rsh = "/usr/bin/ssh -l lsync -i /etc/lsync/.ssh/id_rsa", 
    }
}

任何帮助将不胜感激!谢谢!

4

1 回答 1

1

lsyncd不做双向同步;它的目的是使那个目录看起来像这个目录,不断地。

您可以通过将 rsync 作为 cron 作业运行来实现相同的效果。唯一的区别是 lsyncd 在文件更改时响应更快,在文件空闲时更高效。

非常小心,您可以在两台服务器上设置 lsyncd,双向同步,然后您可能会得到您想要的,但这依赖于更新不是太快(当 server01 向 server02 发送更新时,server02 会检测到该更改并尝试将其直接发送回 server01,只要该文件没有再次更改,这是无害的)。我不推荐这种设置;使用 SyncThing,或者只对“主”服务器进行编辑。

于 2016-04-20T10:27:11.820 回答