Я искал в Интернете, но не нашел ответа на свою проблему с lsyncd.
Я работаю над проектом WordPress, и в основном мне нужно исключить несколько файлов из обновления / копирования на подчиненный сервер. Я использую настройку главный / подчиненный.
Итак, я сделал это на двух тестовых серверах, оба RedHat 7.3 с lsyncd версии 2.2.2. Я попытался исключить файл из синхронизации с 1-го сервера на 2-й сервер, но это не сработало. Не уверен, почему из того, что я видел из других сообщений, нужно было указать полный путь к рассматриваемому файлу?
Вот моя конфигурация моего файла lsyncd.conf и, в частности, строка 12, где я пытаюсь исключить файл.
1
2 настройки {
3 logfile = "/var/log/lsyncd/lsyncd.log",
4 statusFile = "/var/log/lsyncd/lsyncd-status.log",
5 statusInterval = 20
6}
7 синхронизация
8 {
9 default.rsync, задержка = 0,
10 источник = "/ usr / share / nginx /",
11 target = "10.1.108.87:/usr/share/nginx/",
12 excludeFrom = "/ usr / share / nginx / html / zexclude / excludefile",
13 rsync = {
14 owner = правда,
15 завивок = правда,
16 группа = правда,
17 compress = true,
18 acls = правда,
19 многословный = правда,
20 rsh = "/ usr / bin / ssh -p 22 -o StrictHostKeyChecking = no"}
21}
На ум приходят две вещи: может ли ваш процесс lsyncd читать исключаемый файл? Вы должны увидеть это в журнале состояния. Кроме того, в файле исключения не должно быть пустых строк, поскольку это интерпретируется как «исключить все».
Я решил эту проблему, поместив следующую запись в файл lsyncd.conf 'exclude = {' xxx-config * ',},
Поэтому я использовал exclude, а не excludeFrom, и это исправило мою проблему.