ansible.windows.win_copy – Копирует файлы в удалённые расположения на хостах Windows
Примечание
Этот плагин является частью коллекции ansible.windows (версия 1.3.0).
Для его установки используйте: ansible-galaxy collection install ansible.windows.
Для использования в книге задач укажите: ansible.windows.win_copy.
Описание
- Модуль
win_copyкопирует файл с локального компьютера в удалённые расположения Windows. - Для целей, не являющихся Windows, используйте модуль ansible.builtin.copy вместо него.
Примечание
Этот модуль имеет соответствующий плагин действий плагин действий.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| backup boolean |
| Определяет, необходимо ли создавать резервную копию. При установке в yes, создаётся резервная копия файла, включая информацию о времени, чтобы вы могли вернуть исходный файл, если вы неправильно его перезаписали.Резервная копия не создаётся, если remote_src=False и копируются несколько файлов. |
| content строка | При использовании вместо src, устанавливает содержимое файла непосредственно в указанное значение.Это предназначено для простых значений. Для сложных значений или значений с форматированием переключитесь на модуль ansible.windows.win_template. | |
| decrypt boolean |
| Этот параметр управляет автоматическим расшифрованием исходных файлов с помощью vault. |
| dest путь / обязательно | Абсолютный удалённый путь, куда следует скопировать файл. Если src является каталогом, то это также должен быть каталог.Используйте \ для разделителей пути или \\ в «двойных кавычках». Если dest оканчивается на \ , исходный файл или содержимое исходного файла будут скопированы в каталог без переименования.Если dest — не существующий путь, он будет создан только в том случае, если src оканчивается на "/" или "\", или src является каталогом.Если src и dest являются файлами, и если родительский каталог dest не существует, задача завершится с ошибкой. | |
| force boolean |
| Если установлено в yes, файл будет передан только в том случае, если содержимое отличается от назначения.Если установлено в no, файл будет передан только в том случае, если назначения не существует.Если установлено в no, не выполняется проверка контрольной суммы содержимого, что может улучшить производительность при работе с большими файлами. |
| local_follow boolean |
| Этот флаг указывает, что необходимо следовать ссылкам на файлы в системе на стороне источника, если они существуют. |
| remote_src boolean |
| Если no, поиск источника (src) будет производиться на машине источника/контроллера.Если yes, поиск источника (src) будет производиться на удалённой/целевой машине. |
| src путь | Локальный путь к файлу, который нужно скопировать на удалённый сервер; может быть абсолютным или относительным. Если путь является каталогом, он копируется (включая имя исходной папки) рекурсивно в dest. Если путь является каталогом и оканчивается на "/", копируются только содержимое этого каталога. В противном случае, если он не оканчивается на "/", копируется сам каталог со всем содержимым. Если путь является файлом, а dest оканчивается на "\", файл копируется в папку с таким же именем файла. Обязательно, если не используется content. |
Примечания
Примечание
- В настоящее время win_copy не поддерживает копирование символических ссылок как локально на удалённый, так и удалённо на удалённый.
- Рекомендуется использовать обратные слэши
\вместо/при работе с удалёнными путями. - Так как win_copy работает через WinRM, это не очень эффективный механизм передачи. Если вы отправляете большие файлы, рассмотрите возможность размещения их на веб-сервисе и использования модуля ansible.windows.win_get_url вместо него.
См. также
См. также
- community.general.assemble
-
Официальная документация по модулю community.general.assemble.
- ansible.builtin.copy
-
Официальная документация по модулю ansible.builtin.copy.
- ansible.windows.win_get_url
-
Официальная документация по модулю ansible.windows.win_get_url.
- community.windows.win_robocopy
-
Официальная документация по модулю community.windows.win_robocopy.
Примеры
- name: Copy a single file
ansible.windows.win_copy:
src: /srv/myfiles/foo.conf
dest: C:\Temp\renamed-foo.conf
- name: Copy a single file, but keep a backup
ansible.windows.win_copy:
src: /srv/myfiles/foo.conf
dest: C:\Temp\renamed-foo.conf
backup: yes
- name: Copy a single file keeping the filename
ansible.windows.win_copy:
src: /src/myfiles/foo.conf
dest: C:\Temp\
- name: Copy folder to C:\Temp (results in C:\Temp\temp_files)
ansible.windows.win_copy:
src: files/temp_files
dest: C:\Temp
- name: Copy folder contents recursively
ansible.windows.win_copy:
src: files/temp_files/
dest: C:\Temp
- name: Copy a single file where the source is on the remote host
ansible.windows.win_copy:
src: C:\Temp\foo.txt
dest: C:\ansible\foo.txt
remote_src: yes
- name: Copy a folder recursively where the source is on the remote host
ansible.windows.win_copy:
src: C:\Temp
dest: C:\ansible
remote_src: yes
- name: Set the contents of a file
ansible.windows.win_copy:
content: abc123
dest: C:\Temp\foo.txt
- name: Copy a single file as another user
ansible.windows.win_copy:
src: NuGet.config
dest: '%AppData%\NuGet\NuGet.config'
vars:
ansible_become_user: user
ansible_become_password: pass
# The tmp dir must be set when using win_copy as another user
# This ensures the become user will have permissions for the operation
# Make sure to specify a folder both the ansible_user and the become_user have access to (i.e not %TEMP% which is user specific and requires Admin)
ansible_remote_tmp: 'c:\tmp'
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| backup_file строка | если backup=да | Имя резервного файла, который был создан. Пример: C:\Путь\К\Файлу.txt.11540.20150212-220915.bak |
| checksum строка | успех, src — файл | Контрольная сумма SHA1 файла после выполнения копирования. Пример: 6e642bb8dd5c2e027bf21dd923337cbb4214f827 |
| dest строка | изменилось | Файл/путь назначения. Пример: C:\Temp\ |
| operation строка | успех | Выполнялось копирование отдельного файла или каталога. Пример: копирование_файла |
| original_basename строка | изменилось, src — файл | Имя файла, скопированного из исходного файла. Пример: foo.txt |
| size целое число | изменилось, src — файл | Размер целевого файла после выполнения. Пример: 1220 |
| src строка | изменилось | Исходный файл, использованный для копирования на целевой машине. Пример: /home/httpd/.ansible/tmp/ansible-tmp-1423796390.97-147729857856000/source |
Авторы
- Jon Hawkesworth (@jhawkesworth)
- Jordan Borean (@jborean93)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ansible/windows/win_copy_module.html