![Lsyncd 排除文件或文件夹不起作用](https://linux22.com/image/722232/Lsyncd%20%E6%8E%92%E9%99%A4%E6%96%87%E4%BB%B6%E6%88%96%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我使用 lsyncd 在主服务器和从服务器之间进行实时同步,并且我想将 .htaccess 和 git 文件等文件排除到从服务器。我的配置如下:
同步 {
默认.rsync,
源=“/home/test/”,
目标="202.63.240.146:/home/test",
excludeFrom="/home/test/public_html/.htaccess",
rsync = {archive = true,perms = true,owner = true,_extra = {“ -a”},rsh =“/usr/bin/ssh -l root -i /root/.ssh/id_rsa”,}
}
但似乎不起作用。有人可以纠正我的配置吗?我的 lsyncd 版本是 2.2。
答案1
您excludeFrom=
需要一个包含要排除的文件/目录的简单列表的文件。您似乎想要排除 .htaccess 文件,在这种情况下您需要exclude = { '.htaccess' }
。请参阅lsyncd 手册。
顺便说一句,你_extra={'-a'}
可能不是你想要的。-a
相当于-rlptgoD
(请参阅 rsync 手册页)。这些选项的 lsyncd 默认值为
- [-r]
recurse = true
- [-l]
links = true
- [-t]
times = true
- [-p]
perms = false
- [-G]
group = false
- [-o]
owner = false
- [
-D
/--devices
] <= lsyncd 不支持
由于您已经覆盖了perms
// ,因此您的group
实际上相当于。[=在目的地重新创建字符和块设备]owner
-a
--device