Spec-Zone.ru › Ansible

Модуль 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

Имя файла результирующего архива. Родительский каталог должен существовать на удаленном хосте.

Это необходимо, когда path ссылается на несколько файлов, указав шаблон, каталог или несколько путей в списке.

Если результирующий архив уже существует, он будет усечен и перезаписан.

exclude_path

list / elements=path

Удаленный абсолютный путь, шаблон или список путей или шаблонов для файла или файлов, которые необходимо исключить из списка path и разворачивания шаблонов.

Используйте exclusion_patterns , чтобы вместо этого исключить файлы или подкаталоги ниже любого из путей из списка path.

По умолчанию: []

exclusion_patterns

list / elements=path

добавлено в community.general 3.2.0

Шаблоны в стиле glob для исключения файлов или каталогов из результирующего архива.

Это отличается от exclude_path, который применяется только к исходным путям из path.

force_archive

boolean

Позволяет принудительно рассматривать модуль как архив, даже если указан только один файл.

По умолчанию, когда указан один файл, он только сжимается (не архивируется).

Включите это, если вы хотите использовать ansible.builtin.unarchive в архиве одного файла, созданного с помощью этого модуля.

Варианты:

  • false ← (по умолчанию)
  • true

format

string

Тип используемого сжатия.

Варианты:

  • "bz2"
  • "gz" ← (по умолчанию)
  • "tar"
  • "xz"
  • "zip"

group

string

Имя группы, которой должен принадлежать объект файловой системы, как если бы он был передан в chown.

Если не указано, используется текущая группа текущего пользователя, если вы не являетесь root, в этом случае он может сохранить предыдущее владение.

mode

any

Разрешения, которыми должен обладать результирующий объект файловой системы.

Для тех, кто привык к /usr/bin/chmod, помните, что режимы на самом деле являются восьмеричными числами. Вы должны дать Ansible достаточно информации, чтобы правильно их разобрать. Для согласованных результатов заключайте восьмеричные числа в кавычки (например, '644' или '1777'), чтобы Ansible получал строку и мог выполнить собственное преобразование из строки в число. Добавление ведущего нуля (например, 0755) иногда работает, но может завершиться ошибкой в циклах и некоторых других обстоятельствах.

Передача Ansible числа без соблюдения одного из этих правил приведет к десятичному числу, что приведет к неожиданным результатам.

Начиная с Ansible 1.8, режим может быть задан как символьный режим (например, u+rwx или u=rw,g=r,o=r).

Если mode не указан и целевой объект файловой системы не существует, то при установке режима для вновь созданного объекта файловой системы будет использоваться значение umask по умолчанию в системе.

Если mode не указан, и целевой объект файловой системы существует, будет использоваться режим существующего объекта файловой системы.

Указание mode — лучший способ обеспечить создание объектов файловой системы с правильными разрешениями. Дополнительные сведения см. в CVE-2020-1736.

owner

string

Имя пользователя, которому должен принадлежать объект файловой системы, как если бы он был передан в chown.

Если не указано, используется текущий пользователь, если вы не являетесь root, в этом случае он может сохранить предыдущее владение.

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

path

list / elements=path / required

Удаленный абсолютный путь, шаблон или список путей или шаблонов для файла или файлов, которые необходимо сжать или заархивировать.

remove

boolean

Удаляет любые добавленные исходные файлы и деревья после добавления в архив.

Варианты:

  • false ← (по умолчанию)
  • true

selevel

string

Часть уровня контекста объекта файловой системы SELinux.

Это атрибут MLS/MCS, иногда называемый range.

При установке в _default, он будет использовать часть level политики, если она доступна.

serole

string

Часть роли контекста объекта файловой системы SELinux.

При установке в _default, он будет использовать часть role политики, если она доступна.

setype

string

Часть типа контекста объекта файловой системы SELinux.

При установке в _default, он будет использовать часть type политики, если она доступна.

seuser

string

Часть пользователя контекста объекта файловой системы SELinux.

По умолчанию используется политика system, если применимо.

При установке в _default, он будет использовать часть user политики, если она доступна.

unsafe_writes

boolean

Влияние на использование атомарных операций для предотвращения повреждения данных или несогласованного чтения из объекта целевой файловой системы.

По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из объектов целевой файловой системы, но иногда системы настроены или просто неисправны таким образом, что это невозможно. Одним примером являются объекты файловой системы, смонтированные Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только небезопасным способом.

Этот параметр позволяет Ansible переключаться на небезопасные методы обновления объектов файловой системы при сбое атомарных операций (однако он не заставляет Ansible выполнять небезопасные записи).

ВАЖНО! Небезопасные записи подвержены гонкам и могут привести к повреждению данных.

Варианты:

  • false ← (по умолчанию)
  • true

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: полная

Может работать в режиме check_mode и возвращать прогноз состояния изменения без изменения целевого объекта.

diff_mode

Поддержка: нет

Вернет подробности о том, что изменилось (или, возможно, требует изменения в check_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

Состояние файла dest.

absent если файл не существует.

archive если файл является архивом.

compress если файл сжат, но не является архивом.

incomplete если файл является архивом, но некоторые файлы в path не найдены.

Возвращается: успех

expanded_exclude_paths

список / элементы=строка

Список совпадающих путей исключения из аргумента exclude_path.

Возвращается: всегда

expanded_paths

список / элементы=строка

Список совпадающих путей из аргумента paths.

Возвращается: всегда

missing

список / элементы=строка

Любые файлы, отсутствующие в исходном коде.

Возвращается: успех

state

строка

Состояние входного path.

Возвращается: всегда

Авторы

  • Ben Doherty (@bendoh)

Ссылки на коллекции

  • Трекер проблем
  • Репозиторий (источники)
  • Задать вопрос за помощью
  • Отправить отчет об ошибке
  • Запросить функцию
  • Связь

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API