Я хочу, чтобы рекурсивно скопировать к каталогу и показать все .j2 файлы там, как шаблоны. Для этого я в настоящее время использую следующие строки:ansible - удалить неуправляемые файлы из каталога?
- template: >
src=/src/conf.d/{{ item }}
dest=/dest/conf.d/{{ item|replace('.j2','') }}
with_lines: find /src/conf.d/ -type f -printf "%P\n"
Сейчас я ищу способ, чтобы удалить неуправляемые файлы из этого каталога. Например, если я удаляю файл/шаблон из /src/conf.d/
, я хочу, чтобы Ansible удалял его с /dest/conf.d/
.
Есть ли способ сделать это? Я пробовал работать с rsync --delete
, но там у меня возникла проблема с шаблонами, которые получили их суффикс .j2
.
Полная очистка каталога цели до копирования означает, что игра всегда будет «изменяться». Даже если в исходный каталог не было изменений. При локальном переименовании файлов (например, rsync-> render-> rename-> rsync) всегда существует проблема, которая может сообщить об изменениях (переименование), когда на самом деле нет изменений. –
@keks 'changed_when: false' исправит это – ffghfgh
Но вы хотите знать, когда/если файл конфигурации был изменен для запуска обработчиков – dalore