archive - Создаёт сжатый архив одного или нескольких файлов или каталогов.
Новая версия с версии 2.3.
Описание
- Создаёт архив. Это противоположность модулю unarchive. По умолчанию предполагается, что исходный файл для архивации находится на целевом узле. Исходный файл не будет скопирован с локального компьютера на целевой узел перед архивацией. Исходные файлы можно удалить после архивации, указав remove=True.
Параметры
| параметр | обязательно | значение по умолчанию | возможные значения | комментарии |
|---|---|---|---|---|
| attributes (добавлен в 2.3)
| нет | None | Атрибуты файла или каталога. Для получения поддерживаемых флагов посмотрите страницу справки для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и при отображении командой lsattr. псевдонимы: attr | |
| dest | нет | Имя файла целевого архива. Это необходимо, когда path относится к нескольким файлам, указав шаблон, каталог или список путей. | ||
| exclude_path (добавлен в 2.4)
| нет | Абсолютный удалённый путь, шаблон или список путей или шаблонов для файла или файлов, которые нужно исключить из архива. | ||
| format | нет | gz |
| Тип сжатия. |
| group | нет | Имя группы, которая должна владеть файлом/каталогом (как это передаётся команде chown). | ||
| mode | нет | Режим файла или каталога. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами (например, 0644). Опускание ведущей нули, скорее всего, приведёт к неожиданным результатам. Начиная с версии 1.8, режим может быть задан как символический режим (например, u+rwx или u=rw,g=r,o=r). | ||
| owner | нет | Имя пользователя, который должен владеть файлом/каталогом (как это передаётся команде chown). | ||
| path | да | Абсолютный удалённый путь, шаблон или список путей или шаблонов для сжатия или архивации файлов. | ||
| remove | нет | Удалить добавленные исходные файлы и каталоги после добавления в архив. | ||
| selevel | нет | s0 | Часть контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range. _default функция работает как для seuser. | |
| serole | нет | Часть контекста файла SELinux, _default функция работает как для seuser. | ||
| setype | нет | Часть контекста файла SELinux, _default функция работает как для seuser. | ||
| seuser | нет | Часть контекста файла SELinux. Будет использовать политику системы по умолчанию, если применимо. Если задано _default, будет использоваться user часть политики, если доступна. | ||
| unsafe_writes (добавлен в 2.2)
| нет |
| Обычно этот модуль использует атомарные операции для предотвращения повреждения данных или несовместимых чтений из целевых файлов. Иногда системы настроены или просто неисправны так, что это невозможно. Один из примеров — смонтированные в Docker файлы, которые нельзя обновлять атомарно и могут обновляться только небезопасным способом. Этот булевый параметр позволяет Ansible перейти к небезопасным методам обновления файлов в тех случаях, когда у вас нет другого выбора. Помните, что это подвержено проблемам гонок и может привести к повреждению данных. |
Примеры
# Compress directory /path/to/foo/ into /path/to/foo.tgz
- archive:
path: /path/to/foo
dest: /path/to/foo.tgz
# Compress regular file /path/to/foo into /path/to/foo.gz and remove it
- archive:
path: /path/to/foo
remove: True
# Create a zip archive of /path/to/foo
- archive:
path: /path/to/foo
format: zip
# Create a bz2 archive of multiple files, rooted at /path
- archive:
path:
- /path/to/foo
- /path/wong/foo
dest: /path/file.tar.bz2
format: bz2
# Create a bz2 archive of a globbed path, while excluding specific dirnames - archive:
path:
- /path/to/foo/*
dest: /path/file.tar.bz2
exclude_path:
- /path/to/foo/bar
- /path/to/foo/baz
format: bz2
# Create a bz2 archive of a globbed path, while excluding a glob of dirnames
path:
- /path/to/foo/*
dest: /path/file.tar.bz2
exclude_path:
- /path/to/foo/ba*
format: bz2
Возвращаемые значения
Общие возвращаемые значения описаны здесь Возвращаемые значения, следующие поля уникальны для этого модуля:
| название | описание | возвращается | тип | пример |
|---|---|---|---|---|
| archived | Все файлы, которые были сжаты или добавлены в архив. | успех | список | |
| arcroot | Корень архива. | всегда | строка | |
| expanded_exclude_paths | Список совпадающих путей исключений из аргумента exclude_path. | всегда | список | |
| expanded_paths | Список совпадающих путей из аргумента path. | всегда | список | |
| missing | Все файлы, которые отсутствовали в источнике. | успех | список | |
| state | Текущее состояние архивированного файла. Если 'absent', то исходные файлы не найдены и архив не существует. Если 'compress', то исходный файл находится в сжатом состоянии. Если 'archive', то исходный файл или пути в настоящее время архивированы. Если 'incomplete', то архив был создан, но не все исходные пути были найдены. | всегда | строка |
Примечания
Примечание
- требует пакетов tarfile, zipfile, gzip и bzip2 на целевом узле
- может создавать сжатые файлы или архивы в форматах gzip, bzip2 и zip
Статус
Этот модуль помечен как предварительная версия, что означает, что он не гарантирует обратную совместимость.
Для получения помощи в разработке модулей, если вы заинтересованы, пожалуйста, прочтите Документацию сообщества и участие, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/archive_module.html