win_copy – Копирует файлы в удалённые расположения на хостах Windows
Описание
- Модуль
win_copyкопирует файл с локальной машины в удалённое расположение на машине Windows. - Для целей, не являющихся Windows, используйте модуль copy вместо него.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| backup boolean добавлено в 2.8 |
| Определяет, следует ли создавать резервную копию. Когда установлено в yes, создаётся резервная копия файла, включая информацию о времени, чтобы вы могли вернуть исходный файл, если неправильно его перезаписали.Резервная копия не создаётся, когда remote_src=False, и копируются несколько файлов. |
| content строка | При использовании вместо src, устанавливает содержимое файла напрямую в указанное значение.Это для простых значений; для сложных значений или с форматированием, пожалуйста, переключитесь на модуль template. | |
| decrypt boolean добавлено в 2.5 |
| Этот параметр управляет автоматическим расшифрованием исходных файлов с использованием хранилища. |
| dest путь / обязательно | Абсолютный удалённый путь, куда следует скопировать файл. Если src является каталогом, то это тоже должен быть каталог.Используйте \ для разделителей путей или \\ в «двойных кавычках». Если dest заканчивается на \ , то исходный файл или содержимое исходного файла будет скопировано в указанную папку без переименования.Если dest является несуществующим путём, он будет создан только в том случае, если dest заканчивается на "/" или "\", или src является каталогом.Если src и dest являются файлами, и если родительский каталог dest не существует, задача завершится ошибкой. | |
| force boolean |
| Если установлено в yes, файл будет скопирован только в том случае, если содержимое отличается от содержимого назначения.Если установлено в no, файл будет скопирован только в том случае, если назначения не существует.Если установлено в no, вычисление контрольной суммы содержимого не выполняется, что может улучшить производительность при работе с большими файлами. |
| local_follow boolean добавлено в 2.4 |
| Этот флаг указывает, что ссылки файловой системы в дереве исходных файлов, если они существуют, должны быть пройдены. |
| remote_src boolean |
| Если no, будет осуществлен поиск src на исходной/главной машине.Если yes, будет осуществлен поиск src на удалённой/целевой машине. |
| src путь | Локальный путь к файлу, который нужно скопировать на удалённый сервер; может быть абсолютным или относительным. Если путь является каталогом, он копируется (включая имя исходной папки) рекурсивно в dest.Если путь является каталогом и заканчивается на "/", копируются только содержимое внутри этого каталога в место назначения. В противном случае, если он не заканчивается на "/", копируется сам каталог со всем содержимым. Если путь — файл, а dest заканчивается на "\", файл копируется в папку с тем же именем файла. Обязательно, если не используется content. |
Примечания
Примечание
- В настоящее время win_copy не поддерживает копирование символических ссылок как локально на удалённую машину, так и удалённо на удалённую.
- Рекомендуется использовать обратные слэши
\вместо/, когда работаете с удалёнными путями. - Поскольку win_copy выполняется через WinRM, это не очень эффективный механизм передачи. При отправке больших файлов рассмотрите возможность размещения их на веб-сервисе и использования модуля win_get_url вместо него.
См. также
См. также
- assemble – Сборка файлов конфигурации из фрагментов
- Официальная документация модуля assemble.
- copy – Копирование файлов в удалённые расположения
- Официальная документация модуля copy.
- win_get_url – Скачивание файла из HTTP, HTTPS или FTP на узел
- Официальная документация модуля win_get_url.
- win_robocopy – Синхронизация содержимого двух каталогов с помощью Robocopy
- Официальная документация модуля win_robocopy.
Примеры
- name: Copy a single file
win_copy:
src: /srv/myfiles/foo.conf
dest: C:\Temp\renamed-foo.conf
- name: Copy a single file, but keep a backup
win_copy:
src: /srv/myfiles/foo.conf
dest: C:\Temp\renamed-foo.conf
backup: yes
- name: Copy a single file keeping the filename
win_copy:
src: /src/myfiles/foo.conf
dest: C:\Temp\
- name: Copy folder to C:\Temp (results in C:\Temp\temp_files)
win_copy:
src: files/temp_files
dest: C:\Temp
- name: Copy folder contents recursively
win_copy:
src: files/temp_files/
dest: C:\Temp
- name: Copy a single file where the source is on the remote host
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
win_copy:
src: C:\Temp
dest: C:\ansible
remote_src: yes
- name: Set the contents of a file
win_copy:
content: abc123
dest: C:\Temp\foo.txt
- name: Copy a single file as another user
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=yes | Имя созданного файла резервной копии. Пример: C:\Путь\К\Файлу.txt.11540.20150212-220915.bak |
| checksum строка | успех, src — файл | SHA1 контрольная сумма файла после выполнения копирования. Пример: 6e642bb8dd5c2e027bf21dd923337cbb4214f827 |
| dest строка | изменилось | Файл/путь назначения. Пример: C:\Временные\ |
| operation строка | успех | Произошло копирование одного файла или каталога. Пример: file_copy |
| original_basename строка | изменилось, src — файл | Имя файла, скопированного файла. Пример: foo.txt |
| size целое число | изменилось, src — файл | Размер целевого объекта после выполнения. Пример: 1220 |
| src строка | изменилось | Исходный файл, используемый для копирования на целевую машину. Пример: /home/httpd/.ansible/tmp/ansible-tmp-1423796390.97-147729857856000/source |
Статус
- Изменения интерфейса модуля в будущем гарантируют обратную совместимость. [stableinterface]
- Этот модуль поддерживается командой разработчиков Ansible. [core]
Поддержка Red Hat
Дополнительная информация о поддержке данного модуля компанией Red Hat доступна в этой статье базы знаний Red Hat.
Авторы
- 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.9/modules/win_copy_module.html