gpt4 book ai didi

Linux:使用 lsyncd 同步多个服务器上的多个文件夹

转载 作者:行者123 更新时间:2023-12-04 18:50:17 24 4
gpt4 key购买 nike

我在我的主服务器上运行了 lsyncd,以同步所有服务器上的文件。但是当我添加另一个要同步的文件夹时,该服务将无法重新启动。我似乎在日志中找不到任何错误。我不是 Lua 专家,所以可能很明显我错过了一些东西。

这是我的原始脚本,有效:

settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status",
statusInterval = 10
}

servers = {
"user@xx.xx.xx.xx",
"user@xx.xx.xx.xx"
}

for _, server in ipairs(servers) do
sync {
default.rsyncssh,
source="/path/to/source/folder/one",
host=server,
targetdir="/path/to/target/folder/one",
excludeFrom="/etc/lsyncd/lsyncd-excludes.txt",
rsync = {
compress = true,
archive = true,
verbose = true,
rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no"
}
}
end

这是不起作用的脚本,我在其中添加了另一个文件夹:
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status",
statusInterval = 10
}

servers = {
"user@xx.xx.xx.xx",
"user@xx.xx.xx.xx"
}

for _, server in ipairs(servers) do
sync {
default.rsyncssh,
source="/path/to/source/folder/one",
host=server,
targetdir="/path/to/target/folder/one",
excludeFrom="/etc/lsyncd/lsyncd-excludes.txt",
rsync = {
compress = true,
archive = true,
verbose = true,
rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no"
}
}

sync {
default.rsyncssh,
source="/path/to/source/folder/two",
host=server,
targetdir="/path/to/target/folder/two",
excludeFrom="/etc/lsyncd/lsyncd-excludes.txt",
rsync = {
compress = true,
archive = true,
verbose = true,
rsh = "/usr/bin/ssh -p 22 -o StrictHostKeyChecking=no"
}
}
end

我也尝试将它们放在两个不同的循环中,但仍然没有运气。花了几个小时在互联网上寻找答案,但我发现的一切都表明我做得正确。

最佳答案

我不知道您或其他人是否有同样的问题,但您是否尝试将第二个同步字段包含在第一个同步字段中?
即将第二个同步包含在第一个中:sync { ... sync { ... } }
至少这就是我如何让我使用多个目录的方式。

关于Linux:使用 lsyncd 同步多个服务器上的多个文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58541559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com