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