Lsyncd 2.0.4: исключение файла из синхронизации

Я хочу предотвратить синхронизацию файла 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

Эта настройка, кажется, не работает.

3 ответа

Решение

Я думаю, excludeFrom DIR относительно source реж; Таким образом, excludeFrom="/robots.txt" может работать.

РЕДАКТИРОВАТЬ: Боже мой, забудь, что я написал выше. excludeFrom является параметром rsync, который указывает текстовый файл, содержащий список исключаемых файлов, по одному файлу или шаблону на строку. Так что ваши excludeFrom должен содержать путь к файлу, который затем содержит это /var/www/html/blog/robots.txt или же /robots.txt,

Использование rsync"s --exclude директива в lsyncdпараметр конфигурации rsyncOpts, или же _extra, в зависимости от lsyncd версия, которую вы используете.

По https://axkibe.github.io/lsyncd/manual/config/layer4/:

excludeFrom - параметр FILENAME, загружает правила исключения из этого файла, по правилам на строку

обратите внимание, что https://community.rackspace.com/general/f/34/t/3503:

ВНИМАНИЕ! При использовании excludeFrom и файла убедитесь, что в нем нет пустых строк. Если это так, lsyncd обрабатывает это как "исключить /", и тогда все исключается.

Другие вопросы по тегам