archive - Создаёт сжатый архив одного или нескольких файлов или каталогов
Новое в версии 2.3.
Описание
- Архивирует файлы. Это противоположное действие модулю unarchive. По умолчанию предполагает, что исходный источник находится на целевом сервере. Файлы-источники не будут скопированы на целевой сервер перед архивированием. Файлы-источники можно удалить после архивирования, указав remove=True.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| attributes (добавлен в 2.3) | Значение по умолчанию: None | Атрибуты файла или каталога. Для получения поддерживаемых флагов обратитесь к странице справки для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и отображается lsattr. псевдонимы: attr |
| dest | Имя файла целевого архива. Это необходимо, когда path относится к нескольким файлам, указав шаблон, каталог или список путей. | |
| exclude_path (добавлен в 2.4) | Абсолютный удалённый путь, шаблон или список путей или шаблонов для исключения из архива | |
| format |
| Тип сжатия. Поддержка xz была добавлена в версии 2.5. |
| group | Значение по умолчанию: None | Имя группы, которая должна владеть файлом/каталогом, как для chown. |
| mode | Значение по умолчанию: None | Режим файла или каталога. Для тех, кто знаком с /usr/bin/chmod, помните, что режимы фактически являются восьмеричными числами (например, 0644 или 01777). Пропуск ведущего нуля, вероятно, приведёт к непредвиденным результатам. Начиная с версии 1.8, режим может быть указан в символической форме (например, u+rwx или u=rw,g=r,o=r). |
| owner | Значение по умолчанию: None | Имя пользователя, который должен владеть файлом/каталогом, как для chown. |
| path обязательно | Абсолютный удалённый путь, шаблон или список путей или шаблонов для сжатия или архивирования файлов. | |
| remove |
| Удалить все добавленные файлы и каталоги после добавления в архив. |
| selevel | Значение по умолчанию: s0 | Часть контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range. Функция _default работает так же, как и для seuser. |
| serole | Значение по умолчанию: None | Часть роли контекста файла SELinux, _default функция работает, как для seuser. |
| setype | Значение по умолчанию: None | Часть типа контекста файла SELinux, _default функция работает, как для seuser. |
| seuser | Значение по умолчанию: None | Часть пользователя контекста файла SELinux. Будет использована системная политика, если применимо. Если установлено значение _default, будет использована часть user политики, если доступна. |
| unsafe_writes (добавлен в 2.2) |
| Обычно этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов. Иногда системы настроены или просто работают некорректно, что препятствует этому. Один пример — подмонтированные в Docker файлы, которые не могут быть обновлены атомарно и могут быть обновлены только небезопасным способом. Эта опция bool позволяет 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', то архив был создан, но не все пути-источники были найдены. |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется обратной совместимостью.
Автор
- Бен Дохити (@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.5/modules/archive_module.html