Spec-Zone.ru › Ansible 2.7

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' или '1777') для того, чтобы Ansible получил строку и выполнил собственное преобразование из строки в число. Передача Ansible числа без соблюдения одного из этих правил приведёт к десятичному числу, что приведёт к неожиданным результатам. С версии 1.8, режим может быть указан в символьной форме (например, u+rwx или u=rw,g=r,o=r).
owner
-
Имя пользователя, который должен владеть файлом/каталогом, как в chown.
path
- / обязательно
Удаленный абсолютный путь, шаблон или список путей или шаблонов для сжатия или архивирования файла или файлов.
remove
boolean
    Варианты:
  • нет ←
  • да
Удалить все добавленные исходные файлы и каталоги после добавления в архив.
selevel
-
Значение по умолчанию:
"s0"
Уровень SELinux файла контекста. Это атрибут MLS/MCS, иногда называемый range. Функция _default работает так же, как для seuser.
serole
-
Роль части SELinux файла контекста, функция _default работает так же, как для seuser.
setype
-
Тип части SELinux файла контекста, функция _default работает так же, как для seuser.
seuser
-
Пользователь части SELinux файла контекста. Будет по умолчанию использовать политику системы, если применимо. Если установлено значение _default, то будет использоваться часть user политики, если она доступна.
unsafe_writes
boolean
добавлен в 2.2
    Варианты:
  • нет ←
  • да
По умолчанию этот модуль использует атомарные операции, чтобы предотвратить повреждение данных или несогласованные чтения из целевых файлов, но иногда системы настроены или просто сломаны таким образом, что это предотвращает. Одним из примеров являются смонтированные файлы Docker, которые не могут быть обновлены атомарно изнутри контейнера и могут быть записаны только не безопасным способом.
Этот параметр позволяет Ansible переходить к небезопасным методам обновления файлов при сбое атомарных операций (однако, он не заставляет 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
список
всегда
Список соответствующих путей из аргумента 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.7/modules/archive_module.html

Spec-Zone.ru

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