Использование CFEngine для копирования дерева каталогов, кроме определенных файлов
Я использую CFEngine для развертывания сайтов Apache. Итак, у меня есть настройка репозитория, и мои агенты копируют файлы из него.
Проблема в том, что когда я редактирую свои файлы с помощью vim, он создает файлы подкачки. И они копируются на сервер, что плохо, потому что каждый раз, когда я запускаю свой редактор, все эти машины загружают файлы подкачки.
Большая проблема заключается в том, что это вызывает перезапуск apache.
TLDR: как сказать CFEngine игнорировать файлы, соответствующие \..*\.swp
?
Вот что у меня сейчас:
files:
"/etc/apache2/sites-available/"
handle => "apache-sites-available",
depends_on => { "apacheinstall" },
create => "true",
copy_from => secure_cp("/srv/repos/apache2/conf/sites-available/","$(sys.policy_hub)"),
depth_search => recurse("inf"),
classes => satisfied("apachemustrestart");
"/etc/apache2/sites-enabled/"
handle => "apache-sites-enabled",
depends_on => { "apacheinstall", "apache-sites-available" },
create => "true",
copy_from => secure_cp("/srv/repos/apache2/conf/sites-enabled/","$(sys.policy_hub)"),
depth_search => recurse("inf"),
classes => satisfied("apachemustrestart");
# promise_repaired => { "apachemustrestart" };
services:
"apache2"
handle => "apacheenable",
depends_on => { "apache-sites-enabled" },
service_policy => "start";
apachemustrestart::
"apache2"
service_policy => "restart";
Вот satisfied
учебный класс
body classes satisfied(x)
{
promise_repaired => { "$(x)" };
# persist_time => "0";
}
Изменить: мой пост был недостаточно точным.
2 ответа
Я не уверен насчет конфигурации CFEngine - я не работал с этим. Вы можете обойти вашу проблему, сказав vim не создавать дополнительные файлы во время редактирования.
установить nobackup
установить nowritebackup
установить noswapfile
Немного поздно, но при условии, что никто не дал ответа на этот вопрос, я буду:
bundle agent filecache {
files:
myclass::
"/etc/apache2/sites-available/"
copy_from => mycopy("/your_path","$(sys.policy_hub)"),
depth_search => recursive_exc_swp;
}
body copy_from mycopy(from,server) {
source => "$(from)";
servers => { "$(server)" };
purge => "true";
stealth => "true";
preserve => "true";
}
body depth_search recursive_exc_swp {
depth => "inf";
exclude_dirs => { "\.swp" };
}