Spec-Zone.ru › Ansible

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

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

Список поддерживаемых флагов можно найти на целевой системе в справочной странице chattr.

Эта строка должна содержать атрибуты в том же порядке, в котором они отображаются командой lsattr.

По умолчанию предполагается оператор =, в противном случае в строку необходимо включить операторы + или -.

dest

path

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

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

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

exclude_path

list / элементы=path

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

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

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

exclusion_patterns

list / элементы=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 / элементы=path / обязательный

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

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

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

В режиме diff возвращает сведения об изменениях (или возможных изменениях в check_mode).

Примечания

Примечание

  • Может создавать сжатые файлы или архивы в форматах 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

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

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

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

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

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

Возвращается: при успешном выполнении

expanded_exclude_paths

list / элементы=string

Список совпавших путей, исключенных на основании аргумента exclude_path.

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

expanded_paths

list / элементы=string

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

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

missing

list / элементы=string

Файлы, отсутствовавшие в источнике.

Возвращается: при успешном выполнении

state

string

Состояние входного файла path.

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

Авторы

  • Ben Doherty (@bendoh)

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

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

© 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

Spec-Zone.ru

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