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

Lsyncd exclude файлы или папки не работают

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

sync {

default.rsync,

source = "/ home / test /",

target = "202.63.240.146:/home/test",

excludeFrom = "/ home / test / public_html / .htaccess",

rsync = {archive = true, perms = true, owner = true, _extra = {"-a"}, rsh = "/ usr / bin / ssh -l root -i /root/.ssh/id_rsa",}

}

Но вроде не работает. Кто-нибудь может исправить мою конфигурацию. Моя версия lsyncd - 2.2.

Ваш excludeFrom= должен быть файлом, содержащим простой список файлов / каталогов, которые нужно исключить. Похоже, вы хотите исключить файл (ы) .htaccess, и в этом случае вам нужно exclude = { '.htaccess' }. См. Раздел «Исключения» в lsyncd руководство.

Кстати, ваш _extra={'-a'} может быть не хочешь, хочешь. -a эквивалентно -rlptgoD (см. справочную страницу rsync). По умолчанию lsyncd для этих параметров:

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

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