Использование 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" };
}
Другие вопросы по тегам