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, [= воссоздать персонажа и заблокировать устройства в пункте назначения]