Я использую CFEngine для развертывания сайтов apache. Итак, у меня есть репозиторий, и мои агенты копируют из него файлы.
Проблема в том, что когда я редактирую свои файлы с помощью vim, он создает файлы подкачки. И они копируются на сервер, что плохо, потому что каждый раз, когда я запускаю свой редактор, все эти машины загружают файлы подкачки.
Большая проблема в том, что это вызывает перезапуск apache.
TL; DR: как мне сказать 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";
}
Редактировать: Мой пост был недостаточно точным.
Я не уверен в конфигурации CFEngine - я с этим не работал. Вы можете обойти проблему, указав vim не создавать дополнительные файлы во время редактирования.
установить nobackup
установить сейчас
установить 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" };
}