Spec-Zone.ru › Ansible 2.10

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

Примечание

Этот плагин входит в коллекцию community.general (версия 1.3.2).

Для его установки используйте: ansible-galaxy collection install community.general.

Чтобы использовать его в плейбуке, укажите: community.general.archive.

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

Описание

  • Создаёт или дополняет архив.
  • Источник и архив находятся на удалённом хосте, и архив не копируется на локальный хост.
  • Файлы-источники могут быть удалены после архивирования, если задать remove=True.

Параметры

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

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

Примечания

Примечание

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

См. также

См. также

ansible.builtin.unarchive

Официальная документация модуля 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: yes

- 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
строка
всегда
Корень архива.

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

expanded_paths
список / элементы=строка
всегда
Список соответствующих путей из аргумента path.

missing
список / элементы=строка
успех
Список файлов, отсутствовавших в источнике.

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



Авторы

  • 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.10/collections/community/general/archive_module.html

Spec-Zone.ru

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