Назад | Перейти на главную страницу

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

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

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

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

Использовать rsyncс --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 рассматривает это как «exclude /», и тогда все исключается.