我搜索了互联网但找不到解决 lsyncd 问题的答案。
我正在开发一个 WordPress 项目,基本上我需要排除一些文件以将其更新/复制到从属服务器。我正在使用主/从设置。
所以我在两台测试服务器上进行了此操作,两台服务器都是 RedHat 7.3,lsyncd 版本为 2.2.2。我尝试排除文件从第一台服务器同步到第二台服务器,但不起作用。我不确定为什么,因为我从其他帖子中看到,需要提供相关文件的完整路径?
这是我的 lsyncd.conf 文件的配置,特别是第 12 行,我尝试排除该文件。
1
2 设置 {
3 日志文件 = “/var/log/lsyncd/lsyncd.log”,
4 状态文件 = “/var/log/lsyncd/lsyncd-status.log”
5 状态间隔 = 20
6 }
7 同步
8 {
9 默认.rsync,延迟=0,
10 源=“/usr/share/nginx/”,
11 目标="10.1.108.87:/usr/share/nginx/",
12 excludeFrom="/usr/share/nginx/html/zexclude/excludefile",
13 rsync= {
14 所有者 = true,
15 perms = true,
16 组 = 真,
17 压缩 = true,
18 acls = true,
19 详细 = true,
20 rsh = “/usr/bin/ssh-p22-o StrictHostKeyChecking=no”}
21 }
答案1
我想到两件事:您的 lsyncd 进程可以读取排除文件吗?您应该能够在状态日志中看到这一点。此外,排除文件中没有空行,因为这会被解释为“排除所有”。
答案2
我通过在 lsyncd.conf 文件中放置以下条目“exclude={'xxx-config*', }”来解决这个问题,
因此我使用了 exclude 而不是 excludeFrom,它解决了我的问题。