Lsyncd исключает файлы или папки, не работающие

Я использую lsyncd для прямой синхронизации между ведущим и ведомым, и я хочу исключить файлы, такие как.htaccess и git, на подчиненный сервер. Я настроил так:

sync {

default.rsync,

источник = "/ дома / испытания /",

целевых = "202.63.240.146:/home/test",

excludeFrom = "/ главная / тест / public_html /.htaccess",

rsync = {архив = истина, perms = истина, владелец = истина, _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). Значения по умолчанию для этих опций:

  • [-р] recurse = true
  • [-L] links = true
  • [-T] times = true
  • [-п] perms = false
  • [-г] group = false
  • [-O] owner = false
  • [-D/--devices] <= не поддерживается lsyncd

Поскольку вы уже переопределите perms/group/owner, ваш -a эффективно эквивалентно --device, [= воссоздать персонажа и заблокировать устройства в пункте назначения]

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