Копирование файлов с использованием Ansible
Ansible (Ансибл) предоставляет модуль copy
для копирования файлов с узла управления (где запущен Ansible) на управляемые узлы (целевые хосты). Модуль copy
поддерживает различные параметры для управления поведением операции копирования файлов.
Базовая копия файла
Базовый синтаксис для модуля copy
выглядит следующим образом:
- copy:
src: <source_file>
dest: <destination_path>
Здесь src
указывает путь к файлу на узле управления, а dest
- путь назначения на управляемом узле.
Например, чтобы скопировать файл с именем example.txt
с узла управления в каталог /tmp
на управляемом узле, вы можете использовать следующую задачу:
- copy:
src: example.txt
dest: /tmp/example.txt
Копирование с сохранением прав доступа
По умолчанию модуль copy
сохраняет права доступа к файлу из исходного файла. Однако вы также можете явно установить права доступа с помощью параметра mode
:
- copy:
src: example.txt
dest: /tmp/example.txt
mode: "0644"
В этом примере скопированный файл будет иметь права доступа, установленные в rw-r--r--
(644 в восьмеричной системе).
Вы также можете использовать символическую запись для установки прав доступа:
- copy:
src: example.txt
dest: /tmp/example.txt
mode: u=rw,g=r,o=r
Это установит права доступа в rw-r--r--
.
Копирование с указанием владельца и группы
Для установки владельца и группы скопированного файла вы можете использовать параметры owner
и group
:
- copy:
src: example.txt
dest: /tmp/example.txt
owner: myuser
group: mygroup
Это установит владельца в myuser
и группу в mygroup
для скопированного файла.
Понимая, как использовать модуль copy
в Ansible, вы можете обеспечить копирование файлов на целевые хосты с соответствующими правами доступа, владельцем и группой. Это особенно важно при работе с конфиденциальными файлами или при необходимости гарантировать правильные права доступа для скопированных файлов.