модуль community.general.archive — Создает сжатый архив из одного или нескольких файлов или деревьев каталогов
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить ее, используйте: ansible-galaxy collection install community.general.
Чтобы использовать ее в плейбуке, укажите: community.general.archive.
Краткое описание
- Создает архив или добавляет файлы в существующий.
- Исходные файлы и архив находятся на целевом хосте; архив не копируется на управляющий хост.
- Исходные файлы можно удалить после архивации, указав
remove=True.
Параметры
Параметр | Комментарии |
|---|---|
attributes псевдонимы: attr string | Атрибуты, которые должен иметь результирующий объект файловой системы. Список поддерживаемых флагов можно найти на целевой системе в справочной странице Эта строка должна содержать атрибуты в том же порядке, в котором они отображаются командой По умолчанию предполагается оператор |
dest path | Имя файла целевого архива. Родительский каталог должен существовать на удаленном хосте. Этот параметр обязателен, если Если целевой архив уже существует, он будет усечен и перезаписан. |
exclude_path list / элементы=path | Удаленный абсолютный путь, шаблон glob или список путей либо шаблонов glob для файла или файлов, которые необходимо исключить из списка Используйте По умолчанию: |
exclusion_patterns list / элементы=path добавлено в community.general 3.2.0 | Шаблоны в стиле glob для исключения файлов или каталогов из результирующего архива. Отличается от |
force_archive boolean | Позволяет принудительно считать файл архивом, даже если указан только один файл. По умолчанию при указании одного файла он только сжимается (но не архивируется). Включите этот параметр, если хотите использовать ansible.builtin.unarchive для архива из одного файла, созданного этим модулем. Варианты:
|
format string | Тип используемого сжатия. Варианты:
|
group string | Имя группы, которой должен принадлежать объект файловой системы; значение передается команде Если значение не указано, используется текущая группа текущего пользователя. Если вы работаете от имени root, предыдущий владелец может быть сохранен. |
mode any | Права доступа, которые должен иметь результирующий объект файловой системы. Если вы привыкли к Если передать Ansible число, не соблюдая ни одно из этих правил, оно будет интерпретировано как десятичное, что приведет к неожиданным результатам. Начиная с Ansible 1.8, режим можно указывать в символьном формате (например, Если Если Указание |
owner string | Имя пользователя, которому должен принадлежать объект файловой системы; значение передается команде Если значение не указано, используется текущий пользователь. Если вы работаете от имени root, предыдущий владелец может быть сохранен. Числовое имя пользователя будет интерпретировано как идентификатор пользователя, а не как имя. Чтобы избежать путаницы, не используйте числовые имена пользователей. |
path list / элементы=path / обязательный | Удаленный абсолютный путь, шаблон glob или список путей либо шаблонов glob для файла или файлов, которые необходимо сжать или архивировать. |
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 | Поддержка: нет | В режиме diff возвращает сведения об изменениях (или возможных изменениях в |
Примечания
Примечание
- Может создавать сжатые файлы или архивы в форматах
gzip,bzip2,lzmaиzip. - Для создания архивов на целевом хосте модуль использует пакеты
tarfile,zipfile,gzip,bz2иlzma. Они входят в стандартную библиотеку Python.
См. также
См. также
- 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 list / элементы=string | Файлы, которые были сжаты или добавлены в архив. Возвращается: при успешном выполнении |
arcroot string | Корень архива. Возвращается: всегда |
dest_state string добавлено в community.general 3.4.0 | |
expanded_exclude_paths list / элементы=string | Список совпавших путей, исключенных на основании аргумента exclude_path. Возвращается: всегда |
expanded_paths list / элементы=string | Список совпавших путей из аргумента paths. Возвращается: всегда |
missing list / элементы=string | Файлы, отсутствовавшие в источнике. Возвращается: при успешном выполнении |
state string | Состояние входного файла Возвращается: всегда |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/archive_module.html