我想阻止我的robots.txt文件同步到前端服务器。 这是我的/etc/lsyncd.conf文件:
settings = { logfile = "/tmp/lsyncd.log", statusFile = "/tmp/lsyncd.stat", statusInterval = 1, } sync{ default.rsync, source="/var/www/html/blog", target="sync:/var/www/html/blog", rsyncOpts="-ltus", excludeFrom="/var/www/html/blog/robots.txt", }
/tmp/lsyncd.log告诉
Normal: recursive startup rsync: /var/www/html/blog/ -> sync:/var/www/html/blog/ excluding HELLO WORLD Normal: Startup of '/var/www/html/blog/' finished. Normal: Calling rsync with filter-list of new/modified files/dirs /robots.txt / Normal: Finished a list = 0
这个设置似乎没有解决。
我猜excludeFrom目录是相对于source目录; 因此, excludeFrom="/robots.txt"可能工作。
编辑:噢,我的上帝,忘记我上面写的。 excludeFrom是一个rsync参数,用于指定包含要排除的文件列表的文本文件,每行一个文件或一个模式。 所以,您的excludeFrom应该包含一个文件的path,该文件包含这个/var/www/html/blog/robots.txt或/robots.txt 。
在lsyncd的configuration参数rsyncOpts或_extra使用rsync的--exclude指令,具体取决于您使用的lsyncd版本。
根据https://axkibe.github.io/lsyncd/manual/config/layer4/ :
excludeFrom是FILENAME参数,从每个规则每行的文件加载排除规则
注意https://community.rackspace.com/general/f/34/t/3503 :
警告! 使用excludeFrom和一个文件时,请确保文件中没有空行 。 如果是这样,lsyncd将其视为“排除/”,然后将所有内容都排除在外。