Lsync不在主 - 主/双向设置中以正确的顺序处理文件

时间:2016-04-19 18:47:36

标签: ssh synchronization rsync centos7 lsyncd

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

我遇到的问题示例 - 如果我在 server01 server02 上有一个名为 hello-world.txt 的文件,我从 server01 删除它,当lsync运行时,它实际上是在 server01 上重新创建的,而不是从 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", 
    }
}

任何帮助都会很感激!谢谢!

1 个答案:

答案 0 :(得分:1)

lsyncd不进行双向同步;其目的是使目录连续显示为目录。

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

非常谨慎,您可以在两台服务器上设置lsyncd,同时在两个方向同步,然后您可能得到您想要的,但这依赖于更新不太快(当server01向server02发送更新时,server02将检测到该更改并尝试将其发送回server01,只要该文件未再次更改,该文件就无害了。我不推荐这种设置;使用SyncThing,或仅对" master"进行编辑。服务器