Spec-Zone.ru › Ansible 2.6

archive - Создаёт сжатый архив одного или нескольких файлов или деревьев

Новая в версии 2.3.

  • Описание
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
  • Обслуживание
    • Автор

Описание

  • Архивирует файлы. Это противоположность unarchive. По умолчанию предполагается, что источник сжатия существует в целевом каталоге. Файл-источник не будет скопирован с локальной системы на целевую перед архивацией. Файлы-источники могут быть удалены после архивации, если задать remove=True.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
attributes
(добавлено в 2.3)
Атрибуты, которые должен иметь файл или каталог. Чтобы получить поддерживаемые флаги, обратитесь к справочной странице для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и в lsattr.

псевдонимы: attr
dest
Имя файла целевого архива. Это необходимо, когда path ссылается на несколько файлов, указав шаблон, каталог или список путей.
exclude_path
(добавлено в 2.4)
Абсолютный удаленный путь, шаблон или список путей или шаблонов для исключения файла или файлов из архива
format
    Варианты:
  • bz2
  • gz ←
  • tar
  • xz
  • zip
Тип сжатия, который необходимо использовать.
Поддержка xz была добавлена в версии 2.5.
group
Имя группы, которая должна владеть файлом/каталогом, как в команде chown.
mode
Режим файла или каталога. Для тех, кто привык к /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами. Вы должны указать ведущий ноль, чтобы интерпретатор YAML Ansible понимал, что это восьмеричное число (например, 0644 или 01777) или заключить его в кавычки (например, '644' или '0644'), чтобы Ansible получил строку и сам выполнил преобразование из строки в число. Если вы передадите Ansible число без одного из этих правил, получится десятичное число, что приведёт к непредсказуемым результатам. С версии 1.8, режим может быть указан в символическом формате (например, u+rwx или u=rw,g=r,o=r).
owner
Имя пользователя, который должен владеть файлом/каталогом, как в команде chown.
path
обязательно
Удаленный абсолютный путь, шаблон или список путей или шаблонов для сжатия или архивирования файла или файлов.
remove
bool
    Варианты:
  • нет ←
  • да
Удалить добавленные файлы и деревья после добавления в архив.
selevel По умолчанию:
"s0"
Уровень части контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range. _default функция работает, как для seuser.
serole
Роль части контекста файла SELinux, _default функция работает, как для seuser.
setype
Тип части контекста файла SELinux, _default функция работает, как для seuser.
seuser
Пользователь части контекста файла SELinux. По умолчанию используется системная политика, если применимо. Если установлено значение _default, будет использоваться часть user политики, если доступна.
unsafe_writes
bool

(добавлено в 2.2)
    Варианты:
  • нет ←
  • да
Обычно этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов, но иногда системы настроены или просто неисправны, что препятствует этому. Одним из примеров являются файлы, смонтированные в docker, которые не могут обновляться атомарно и могут быть обновлены только небезопасным способом.
Этот булевый параметр позволяет Ansible перейти к небезопасным методам обновления файлов в тех случаях, когда у вас нет другого выбора. Следует учитывать, что это подвержено гонкам и может привести к повреждению данных.

Примечания

Примечание

  • требуются пакеты tarfile, zipfile, gzip и bzip2 на целевом хосте
  • требуется lzma или backports.lzma, если используется формат xz
  • может создавать сжатые файлы или архивы с gzip, bzip2, lzma и zip

Примеры

- name: Compress directory /path/to/foo/ into /path/to/foo.tgz
  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
  archive:
    path: /path/to/foo
    remove: yes

- name: Create a zip archive of /path/to/foo
  archive:
    path: /path/to/foo
    format: zip

- name: 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

- name: 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

- name: Create a bz2 archive of a globbed path, while excluding a glob of dirnames
  archive:
    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
список
всегда
Список совпадающих путей из аргумента paths.

missing
список
успех
Любые файлы, которые отсутствовали в источнике.

state
строка
всегда
Текущее состояние архивируемого файла. Если 'отсутствует', то файлы-источники не найдены, и архив не существует. Если 'сжат', то исходный файл находится в сжатом состоянии. Если 'архив', то исходный файл или пути в настоящее время архивированы. Если 'неполный', то архив был создан, но не все пути-источники были найдены.



Статус

Этот модуль помечен как превью, что означает, что он не гарантирует обратной совместимости интерфейса.

Обслуживание

Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. См. Обслуживание и поддержка модулей для получения дополнительной информации.

Список других модулей, также поддерживаемых сообществом Ansible, см. здесь.

Автор

  • Ben Doherty (@bendoh)

Подсказка

Если вы заметили какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/archive_module.html

Spec-Zone.ru

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