Модуль community.general.archive – Создаёт сжатый архив одного или нескольких файлов или каталогов
Примечание
Этот модуль является частью коллекции community.general (версия 9.5.0).
У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.general. Для использования этого модуля необходимы дополнительные требования, см. Требования для подробностей.
Для использования в книге задач укажите: community.general.archive.
Описание
- Создаёт или расширяет архив.
- Исходные данные и архив находятся на удалённом хосте, и архив не копируется на локальный хост.
- Исходные файлы могут быть удалены после архивации, если указать
remove=True.
Требования
Ниже перечислены требования, необходимые на хосте, который выполняет этот модуль.
- Требуется
lzma(стандартная библиотека Python 3) или backports.lzma (Python 2), если используется форматxz.
Параметры
Параметр | Комментарии |
|---|---|
attributes aliases: attr string | Атрибуты, которыми должен обладать результирующий объект файловой системы. Чтобы получить поддерживаемые флаги, посмотрите страницу руководства для chattr в целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и отображаемые lsattr. Оператор |
dest path | Имя файла результирующего архива. Родительский каталог должен существовать на удаленном хосте. Это необходимо, когда Если результирующий архив уже существует, он будет усечен и перезаписан. |
exclude_path list / elements=path | Удаленный абсолютный путь, шаблон или список путей или шаблонов для файла или файлов, которые необходимо исключить из списка Используйте По умолчанию: |
exclusion_patterns list / elements=path добавлено в community.general 3.2.0 | Шаблоны в стиле glob для исключения файлов или каталогов из результирующего архива. Это отличается от |
force_archive boolean | Позволяет принудительно рассматривать модуль как архив, даже если указан только один файл. По умолчанию, когда указан один файл, он только сжимается (не архивируется). Включите это, если вы хотите использовать ansible.builtin.unarchive в архиве одного файла, созданного с помощью этого модуля. Варианты:
|
format string | Тип используемого сжатия. Варианты:
|
group string | Имя группы, которой должен принадлежать объект файловой системы, как если бы он был передан в chown. Если не указано, используется текущая группа текущего пользователя, если вы не являетесь root, в этом случае он может сохранить предыдущее владение. |
mode any | Разрешения, которыми должен обладать результирующий объект файловой системы. Для тех, кто привык к /usr/bin/chmod, помните, что режимы на самом деле являются восьмеричными числами. Вы должны дать Ansible достаточно информации, чтобы правильно их разобрать. Для согласованных результатов заключайте восьмеричные числа в кавычки (например, Передача Ansible числа без соблюдения одного из этих правил приведет к десятичному числу, что приведет к неожиданным результатам. Начиная с Ansible 1.8, режим может быть задан как символьный режим (например, Если Если Указание |
owner string | Имя пользователя, которому должен принадлежать объект файловой системы, как если бы он был передан в chown. Если не указано, используется текущий пользователь, если вы не являетесь root, в этом случае он может сохранить предыдущее владение. Предполагается, что числовое имя пользователя является идентификатором пользователя, а не именем пользователя. Избегайте числовых имен пользователей, чтобы избежать путаницы. |
path list / elements=path / required | Удаленный абсолютный путь, шаблон или список путей или шаблонов для файла или файлов, которые необходимо сжать или заархивировать. |
remove boolean | Удаляет любые добавленные исходные файлы и деревья после добавления в архив. Варианты:
|
selevel string | Часть уровня контекста объекта файловой системы SELinux. Это атрибут MLS/MCS, иногда называемый При установке в |
serole string | Часть роли контекста объекта файловой системы SELinux. При установке в |
setype string | Часть типа контекста объекта файловой системы SELinux. При установке в |
seuser string | Часть пользователя контекста объекта файловой системы SELinux. По умолчанию используется политика При установке в |
unsafe_writes boolean | Влияние на использование атомарных операций для предотвращения повреждения данных или несогласованного чтения из объекта целевой файловой системы. По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из объектов целевой файловой системы, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним примером являются объекты файловой системы, смонтированные Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом. Этот параметр позволяет Ansible переключаться на небезопасные методы обновления объектов файловой системы при сбое атомарных операций (однако он не заставляет Ansible выполнять небезопасные записи). ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: полная | Может работать в режиме |
diff_mode | Поддержка: нет | Вернет подробности о том, что изменилось (или, возможно, требует изменения в |
Примечания
Примечание
- Может создавать
gzip,bzip2,lzma, иzipсжатые файлы или архивы. - Этот модуль использует
tarfile,zipfile,gzip, иbz2пакеты на целевом хосте для создания архивов. Они входят в стандартную библиотеку Python для Python 2 и 3.
См. также
См. также
- ansible.builtin.unarchive
-
Распаковывает архив после (необязательного) копирования его с локального компьютера.
Примеры
- name: Compress directory /path/to/foo/ into /path/to/foo.tgz
community.general.archive:
path: /path/to/foo
dest: /path/to/foo.tgz
- name: Compress regular file /path/to/foo into /path/to/foo.gz and remove it
community.general.archive:
path: /path/to/foo
remove: true
- name: Create a zip archive of /path/to/foo
community.general.archive:
path: /path/to/foo
format: zip
- name: Create a bz2 archive of multiple files, rooted at /path
community.general.archive:
path:
- /path/to/foo
- /path/wong/foo
dest: /path/file.tar.bz2
format: bz2
- name: Create a bz2 archive of a globbed path, while excluding specific dirnames
community.general.archive:
path:
- /path/to/foo/*
dest: /path/file.tar.bz2
exclude_path:
- /path/to/foo/bar
- /path/to/foo/baz
format: bz2
- name: Create a bz2 archive of a globbed path, while excluding a glob of dirnames
community.general.archive:
path:
- /path/to/foo/*
dest: /path/file.tar.bz2
exclude_path:
- /path/to/foo/ba*
format: bz2
- name: Use gzip to compress a single archive (i.e don't archive it first with tar)
community.general.archive:
path: /path/to/foo/single.file
dest: /path/file.gz
format: gz
- name: Create a tar.gz archive of a single file.
community.general.archive:
path: /path/to/foo/single.file
dest: /path/file.tar.gz
format: gz
force_archive: true
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
archived список / элементы=строка | Любые файлы, которые были сжаты или добавлены в архив. Возвращается: успех |
arcroot строка | Корень архива. Возвращается: всегда |
dest_state строка добавлен в community.general 3.4.0 | |
expanded_exclude_paths список / элементы=строка | Список совпадающих путей исключения из аргумента exclude_path. Возвращается: всегда |
expanded_paths список / элементы=строка | Список совпадающих путей из аргумента paths. Возвращается: всегда |
missing список / элементы=строка | Любые файлы, отсутствующие в исходном коде. Возвращается: успех |
state строка | Состояние входного Возвращается: всегда |
Ссылки на коллекции
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/archive_module.html