Spec-Zone.ru › Ansible 2.9

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

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

Описание

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
attributes
строка
Атрибуты, которые должны иметь результирующий файл или директория.
Чтобы получить поддерживаемые флаги, см. страницу справки для chattr на целевой системе.
Эта строка должна содержать атрибуты в том же порядке, что и при выводе команды lsattr.
Оператор = используется по умолчанию, в противном случае необходимо включить операторы + или - в строку.

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

Примечания

Примечание

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

См. также

См. также

unarchive – Распаковывает архив (при необходимости) скопировав его с локальной машины
Официальная документация модуля unarchive.

Примеры

- 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

- name: Use gzip to compress a single archive (i.e don't archive it first with tar)
  archive:
    path: /path/to/foo/single.file
    dest: /path/file.gz
    format: gz

- name: Create a tar.gz archive of a single file.
  archive:
    path: /path/to/foo/single.file
    dest: /path/file.tar.gz
    format: gz
    force_archive: true

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие являются полями, уникальными для данного модуля:

Ключ Возвращаемое значение Описание
archived
список
успех
Файлы, которые были сжаты или добавлены в архив.

arcroot
строка
всегда
Корень архива.

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

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

missing
список
успех
Файлы, отсутствующие в источнике.

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



Статус

  • Данный модуль не гарантирует обратную совместимость интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • 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.9/modules/archive_module.html

Spec-Zone.ru

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