archive – Создаёт сжатый архив одного или нескольких файлов или каталогов
Новая в версии 2.3.
Описание
- Архивирует файлы.
- Противоположность модулю unarchive.
- По умолчанию предполагает, что исходные данные находятся на целевом узле.
- Не копирует исходный файл с локальной системы на целевой узел перед архивированием.
- Исходные файлы можно удалить после архивирования, указав remove=True.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes строка добавлен в 2.3 | Атрибуты, которые должен иметь результирующий файл или каталог. Для получения поддерживаемых флагов обратитесь к странице руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и отображаемый lsattr. Оператор = предполагается по умолчанию, в противном случае необходимо включить операторы + или - в строку.псевдонимы: attr | |
| dest путь | Имя файла целевого архива. Это необходимо, когда path относится к нескольким файлам, указав шаблон, каталог или несколько путей в списке. | |
| exclude_path список добавлен в 2.4 | Удаленный абсолютный путь, шаблон или список путей или шаблонов для исключения файлов из архива. | |
| force_archive булево добавлен в 2.8 |
| Позволяет принудительно рассматривать этот объект как архив, даже если указан только один файл. По умолчанию сохраняется поведение. Например, при указании одного файла он будет только сжат (не архивирован). |
| format строка |
| Тип сжатия. Поддержка 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