我们已经设置lsyncd来同步两个主机之间的数据。ssh连接配置为在匹配的id_rsa标识文件中使用用户tomcat。由于某种原因,在远程上添加/创建可以正常工作,但是删除不起作用。当rsync尝试删除文件时,根用户用于连接到目标主机,而不是tomcat用户(用于创建/追加)。
在日志(/var/log/lsyncd/lsyncd.log)中我们看到:
Wed Feb 15 13:48:24 2017 Normal: Rsyncing list
/test.txt
Wed Feb 15 13:48:26 2017 Normal: Finished (list): 0
Wed Feb 15 13:48:34 2017 Normal: Deleting list
/myfolder//test.txt
Received disconnect from 10.29.146.78: 2: Too many authentication failures for root
Wed Feb 15 13:48:41 2017 Normal: Retrying (list): 255我们使用下面的配置(/etc/lsyncd.conf):
settings{
pidfile = "/var/run/lsyncd.pid",
statusFile = "/var/tmp/lsyncd.status",
logfile = "/var/log/lsyncd/lsyncd.log",
statusInterval = 60,
logfacility = "user",
logident = "lsyncd",
inotifyMode = "CloseWrite",
maxProcesses = 10,
}
sync {
default.rsyncssh,
source = "/myfolder/",
delete = true,
host = "remote-host",
targetdir = "/myfolder/",
excludeFrom = "/etc/lsyncd/lsyncd.exclude",
delay = 5,
rsync = {
binary = "/usr/bin/rsync",
archive = true,
owner = true,
compress = true,
_extra = { "--bwlimit=50000", "--delete-after" },
rsh = "/usr/bin/ssh -l tomcat -i /usr/share/tomcat6/.ssh/id_rsa",
}
}作为一种解决办法,我们可以在以下方面使用/root/.ssh/config文件:
Host remote-host
Hostname remote-host
User tomcat
IdentityFile /usr/share/tomcat6/.ssh/id_rsa当然,我们不想使用它,因为它应该与lsyncd.conf配置一起工作。
我们使用的是lsyncd版本2.1.4
发布于 2018-06-29 09:19:02
关于GitHub的以下问题帮助我解决了同样的问题:https://github.com/axkibe/lsyncd/issues/369
我所做的非常简单,我只是在default.rsyncssh文件中用default.rsync替换了lysync.conf.lua
发布于 2018-03-14 14:53:28
当使用rsyncssh时,必须小心。
"ssh {}“配置参数有自己的”二进制“、”端口“、"_extra”。有关设置的完整列表,请参见文档。
这有点令人困惑,因为"rsync {}“也需要配置。是的,这两部分都需要做。
"ssh“部分用于删除和移动事件。"rsync“部分用于文件传输。
可以通过使用rsync而不是rsyncssh来避免混淆。但是,当文件被移动时,您将失去rsyncssh提供的带宽效率。
https://stackoverflow.com/questions/42252284
复制相似问题