Spec-Zone.ru › Ansible 2.8

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

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

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

Описание

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
attributes
строка
добавлен в 2.3
Атрибуты, которые должен иметь результирующий файл или каталог.
Для получения поддерживаемых флагов обратитесь к странице руководства для 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, помните, что режимы фактически являются восьмеричными числами. Вы должны либо добавить ведущий ноль, чтобы парсер YAML Ansible знал, что это восьмеричное число (например, 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
булево
добавлен в 2.2
    Варианты:
  • нет ←
  • да
Влияние на использование атомарной операции для предотвращения повреждения данных или несогласованного чтения из целевого файла.
По умолчанию этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованного чтения из целевых файлов, но иногда системы настроены или просто сломаны таким образом, что это предотвращает.
Например, это относится к смонтированным файлам 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
список
всегда
Список сопоставленных путей из аргумента path.

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

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



Статус

  • Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
  • Этот модуль поддерживается сообществом 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.8/modules/archive_module.html

Spec-Zone.ru

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