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 string | При использовании вместо src задает содержимое файла непосредственно указанным значением.Для простых значений. Для сложных значений или с форматированием используйте модуль ansible.windows.win_template. | |
| decrypt boolean |
| Этот параметр управляет автоматическим расшифрованием исходных файлов с помощью vault. |
| dest path / обязательно | Удаленный абсолютный путь, куда должен быть скопирован файл. Если src – это каталог, то это тоже должен быть каталог.Используйте \ для разделителей пути или \\ в "двойных кавычках". Если dest заканчивается на \ то исходный файл или содержимое исходного файла будут скопированы в каталог без переименования.Если dest – это несуществующий путь, он будет создан только если dest заканчивается на "/" или "\", или src – это каталог.Если src и dest – это файлы, и если родительский каталог dest не существует, задача завершится ошибкой. | |
| force boolean |
| Если установлено в yes, файл будет передан только в том случае, если содержимое отличается от содержимого назначения.Если установлено в no, файл будет передан только в том случае, если назначения не существует.Если установлено в no, вычисление контрольной суммы содержимого не выполняется, что может улучшить производительность при работе с большими файлами. |
| local_follow boolean |
| Этот флаг указывает, что ссылки на файловую систему в исходном дереве, если они существуют, должны быть обработаны. |
| remote_src boolean |
| Если no, будет поиск src на исходной/управляющей машине.Если yes, будет обращение к удаленной/целевой машине для src. |
| src path | Локальный путь к файлу, который нужно скопировать на удаленный сервер; может быть абсолютным или относительным. Если путь – это каталог, он копируется (включая имя исходной папки) рекурсивно в 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 string | если backup=да | Имя созданного резервного файла. Пример: C:\Путь\К\Файлу.txt.11540.20150212-220915.bak |
| checksum string | успех, src – это файл | SHA1 контрольная сумма файла после выполнения копирования. Пример: 6e642bb8dd5c2e027bf21dd923337cbb4214f827 |
| dest string | изменено | Файл/путь назначения. Пример: C:\Temp\ |
| operation string | успех | Выполнялась ли операция копирования одного файла или копирование папки. Пример: file_copy |
| original_basename string | изменено, src – это файл | Имя файла, скопированного файла. Пример: foo.txt |
| size integer | изменено, src – это файл | Размер целевого файла после выполнения операции. Пример: 1220 |
| src string | изменено | Исходный файл, использованный для копирования на целевом компьютере. Пример: /home/httpd/.ansible/tmp/ansible-tmp-1423796390.97-147729857856000/source |
Авторы
- Jon Hawkesworth (@jhawkesworth)
- Jordan Borean (@jborean93)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/windows/win_copy_module.html