Spec-Zone.ru › Ansible 2.5

copy - Копирование файлов в удалённые расположения

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

Описание

  • Модуль copy копирует файл с локального или удалённого компьютера в расположение на удалённом компьютере. Для копирования файлов из удалённых расположений на локальный компьютер используйте модуль fetch. Если вам требуется интерполяция переменных в копируемых файлах, используйте модуль template.
  • Для целевых систем Windows используйте модуль win_copy.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
attributes
(добавлен в 2.3)
Значение по умолчанию:
None
Атрибуты, которые должен иметь файл или каталог. Чтобы получить поддерживаемые флаги, см. страницу руководства для chattr на целевой системе. Эта строка должна содержать атрибуты в том же порядке, что и при отображении lsattr.

псевдонимы: attr
backup
    Варианты:
  • no ←
  • yes
Создаёт резервную копию файла, включая отметку времени, чтобы вы могли восстановить исходный файл в случае ошибки.
checksum
(добавлен в 2.5)
Контрольная сумма SHA1 копируемого файла. Используется для проверки успешности копирования.
Если не указано, Ansible использует вычисленную локальную контрольную сумму файла src.
content
При использовании вместо src напрямую задаёт содержимое файла. Для сложных случаев с форматированием обратитесь к модулю template.
decrypt
(добавлен в 2.4)
    Варианты:
  • no
  • yes
Значение по умолчанию:
Yes
Этот параметр управляет автоматическим расшифрованием исходных файлов с помощью vault.
dest
обязательно
Абсолютный удалённый путь, куда должен быть скопирован файл. Если src - каталог, то и dest должен быть каталогом. Если dest - несуществующий путь, и dest заканчивается на "/" или src - каталог, то dest будет создан. Если src и dest - файлы, родительский каталог dest не создаётся: задача завершается с ошибкой, если он не существует.
directory_mode
(добавлен в 1.5)
При рекурсивном копировании задаёт режим каталогов. Если не указано, используются системные значения по умолчанию. Режим устанавливается только для вновь созданных каталогов и не влияет на существующие.
follow
(добавлен в 1.8)
    Варианты:
  • no ←
  • yes
Этот флаг указывает, что символические ссылки в пункте назначения, если они существуют, должны быть прослежены.
force
    Варианты:
  • no
  • yes ←
Значение по умолчанию - yes, что заменит удалённый файл, когда содержимое отличается от исходного. Если no, файл будет скопирован только в случае, если пункт назначения не существует.

псевдонимы: thirsty
group Значение по умолчанию:
None
Имя группы, которая должна владеть файлом/каталогом, как для команды chown.
local_follow
(добавлен в 2.4)
    Варианты:
  • no
  • yes ←
Этот флаг указывает, что символические ссылки в исходном дереве, если они существуют, должны быть прослежены.
mode Значение по умолчанию:
None
Режим файла или каталога. Для тех, кто знаком с командой /usr/bin/chmod, помните, что режимы - это октальные числа (например, 0644 или 01777). Опускание ведущего нуля может привести к нежелательным результатам. С версии 1.8, режим может быть указан как символьный режим (например, u+rwx или u=rw,g=r,o=r).
owner Значение по умолчанию:
None
Имя пользователя, который должен владеть файлом/каталогом, как для команды chown.
remote_src
(добавлен в 2.0)
    Варианты:
  • no ←
  • yes
Если no, поиск src будет произведён на исходном/главном компьютере.
Если yes, поиск src будет произведён на удалённом/целевом компьютере. Значение по умолчанию - no.
В настоящее время remote_src не поддерживает рекурсивное копирование.
selevel Значение по умолчанию:
s0
Часть контекста файла SELinux. Это атрибут MLS/MCS, иногда известный как range. Функция _default работает аналогично seuser.
serole Значение по умолчанию:
None
Часть контекста файла SELinux. Функция _default работает аналогично seuser.
setype Значение по умолчанию:
None
Часть контекста файла SELinux. Функция _default работает аналогично seuser.
seuser Значение по умолчанию:
None
Пользовательская часть контекста файла SELinux. По умолчанию использует системную политику, если применимо. Если установлено значение _default, будет использоваться часть политики user.
src
Локальный путь к файлу, который нужно скопировать на удалённый сервер; может быть абсолютным или относительным. Если путь - каталог, он копируется рекурсивно. В этом случае, если путь заканчивается на "/", будут скопированы только содержимое каталога. Иначе, если он не заканчивается на "/", каталог со всем содержимым будет скопирован. Это поведение аналогично Rsync.
unsafe_writes
(добавлен в 2.2)
    Варианты:
  • no ←
  • yes
Обычно этот модуль использует атомарные операции для предотвращения повреждения данных или несогласованных чтений из целевых файлов. Иногда системы настроены или просто не работают должным образом, что препятствует этому. Примером могут служить файлы, смонтированные через docker; они не могут быть обновлены атомарно и могут быть обновлены только небезопасным способом.
Этот логический параметр позволяет Ansible использовать небезопасные методы обновления файлов в тех случаях, когда нет другого выбора. Имейте в виду, что это может привести к гонкам и повреждению данных.
validate Значение по умолчанию:
None
Команда проверки, выполняемая перед копированием. Путь к файлу для проверки передаётся через '%s', что должно быть присутствовать, как в примере ниже. Команда передаётся безопасно, поэтому такие оболочки, как расширение и конвейеры, не будут работать.

Примечания

Примечание

  • Функция рекурсивного копирования модуля copy не масштабируется на большое количество файлов (>сотни). В качестве альтернативы см. модуль synchronize, который является оболочкой вокруг rsync.
  • Для целевых систем Windows используйте модуль win_copy.

Примеры

- name: example copying file with owner and permissions
  copy:
    src: /srv/myfiles/foo.conf
    dest: /etc/foo.conf
    owner: foo
    group: foo
    mode: 0644

- name: The same example as above, but using a symbolic mode equivalent to 0644
  copy:
    src: /srv/myfiles/foo.conf
    dest: /etc/foo.conf
    owner: foo
    group: foo
    mode: u=rw,g=r,o=r

- name: Another symbolic mode example, adding some permissions and removing others
  copy:
    src: /srv/myfiles/foo.conf
    dest: /etc/foo.conf
    owner: foo
    group: foo
    mode: u+rw,g-wx,o-rwx

- name: Copy a new "ntp.conf file into place, backing up the original if it differs from the copied version
  copy:
    src: /mine/ntp.conf
    dest: /etc/ntp.conf
    owner: root
    group: root
    mode: 0644
    backup: yes

- name: Copy a new "sudoers" file into place, after passing validation with visudo
  copy:
    src: /mine/sudoers
    dest: /etc/sudoers
    validate: /usr/sbin/visudo -cf %s

- name: Copy a "sudoers" file on the remote machine for editing
  copy:
    src: /etc/sudoers
    dest: /etc/sudoers.edit
    remote_src: yes
    validate: /usr/sbin/visudo -cf %s

- name: Copy using the 'content' for inline data
  copy:
    content: '# This file was moved to /etc/other.conf'
    dest: /etc/mine.conf'

Возвращаемые значения

Общие возвращаемые значения описаны здесь. Следующие поля уникальны для этого модуля:

Ключ Возвращаемое значение Описание
backup_file
строка
изменённое значение, если backup=yes
имя созданного файла резервной копии

Пример:
/path/to/file.txt.2015-02-12@22:09~
checksum
строка
успех
sha1 контрольная сумма файла после выполнения копирования

Пример:
6e642bb8dd5c2e027bf21dd923337cbb4214f827
dest
строка
успех
путь/файл назначения

Пример:
/path/to/file.txt
gid
целое число
успех
идентификатор группы файла после выполнения

Пример:
100
group
строка
успех
группа файла после выполнения

Пример:
httpd
md5sum
строка
если поддерживается
md5 контрольная сумма файла после выполнения копирования

Пример:
2a5aeecc61dc98c4d780b14b330e3282
mode
строка
успех
разрешения целевого объекта после выполнения

Пример:
420
owner
строка
успех
владелец файла после выполнения

Пример:
httpd
size
целое число
успех
размер целевого объекта после выполнения

Пример:
1220
src
строка
изменено
исходный файл, используемый для копирования на целевой машине

Пример:
/home/httpd/.ansible/tmp/ansible-tmp-1423796390.97-147729857856000/source
state
строка
успех
состояние целевого объекта после выполнения

Пример:
файл
uid
целое число
успех
идентификатор владельца файла после выполнения

Пример:
100


Статус

Этот модуль помечен как stableinterface, что означает, что разработчики данного модуля гарантируют отсутствие несовместимых с предыдущими версиями изменений интерфейса.

Поддержка

Дополнительную информацию о поддержке данного модуля Red Hat можно найти в этой статье базы знаний

Автор

  • Команда Ansible Core
  • Michael DeHaan

Подсказка

Если вы обнаружите какие-либо проблемы в данной документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 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/copy_module.html

Spec-Zone.ru

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