Назад | Перейти на главную страницу

`unarchive` удаляет файлы, не находящиеся в целевом каталоге

Ansible (v2.9.6) имеет unarchive задача который может распаковать tar (и т. д.) на сервере в целевой каталог. Можно ли указать ему удалить любой файл в каталоге назначения, который не в архивном файле?

Нет. В документации прямо указано:

Существующие файлы / каталоги в месте назначения, которых нет в архиве, не затрагиваются. Это то же поведение, что и при обычном извлечении архива.

Я не думаю, что есть альтернативный модуль, который может это сделать. В качестве обходного пути вы можете сначала удалить целевой каталог. Или разархивируйте во временный каталог и используйте модуль синхронизации с delete параметр для копирования из временного местоположения в целевой каталог.