win_copy – Копирует файлы в удаленные расположения на хостах Windows
Описание
- Модуль
win_copyкопирует файл с локальной машины в удаленное расположение на Windows. - Для целей, отличных от Windows, используйте модуль copy вместо него.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| backup логический тип добавлен в 2.8 |
| Определяет, нужно ли создавать резервную копию. При установке в значение yes, создается резервная копия файла, включая отметку о времени, чтобы можно было восстановить исходный файл, если он был ошибочно перезаписан.Резервная копия не создается, когда remote_src=False, и копируются несколько файлов. |
| content строка добавлен в 2.3 | При использовании вместо src, задает содержимое файла напрямую указанным значением.Это для простых значений; для сложных значений или форматирования используйте модуль template. | |
| decrypt логический тип добавлен в 2.5 |
| Этот параметр управляет автоматическим расшифрованием исходных файлов с помощью vault. |
| dest путь / обязательно | Абсолютный удалённый путь, куда нужно скопировать файл. Если src является каталогом, то это тоже должен быть каталог.Используйте \ для разделителей путей или \\ в случае использования "двойных кавычек". Если dest оканчивается на \, то исходный файл или содержимое исходного файла будут скопированы в каталог без изменения имени.Если dest является несуществующим путём, он будет создан только в случае, если dest оканчивается на "/" или "\", или src является каталогом.Если src и dest являются файлами, и если родительский каталог dest не существует, задача завершится неудачно. | |
| force логический тип добавлен в 2.3 |
| Если установлено в yes, файл будет скопирован только если содержимое отличается от содержимого на целевом расположении.Если установлено в no, файл будет скопирован только если целевого расположения не существует.Если установлено в no, не выполняется проверка контрольной суммы содержимого, что может повысить производительность при работе с большими файлами. |
| local_follow логический тип добавлен в 2.4 |
| Этот флаг указывает, что ссылки на файлы системы в исходном дереве, если они существуют, должны быть прослежены. |
| remote_src логический тип добавлен в 2.3 |
| Если no, поиск исходного файла будет происходить на исходной/главной машине.Если yes, поиск исходного файла будет происходить на удаленной/целевой машине. |
| src путь / обязательно | Локальный путь к файлу, который нужно скопировать на удалённый сервер; может быть абсолютным или относительным. Если путь является каталогом, он копируется (включая имя исходной папки) рекурсивно в dest.Если путь является каталогом и оканчивается на "/", копируются только содержимое этого каталога в место назначения. Иначе, если он не оканчивается на "/", копируется сам каталог со всем содержимым. Если путь является файлом, а dest оканчивается на "\", файл копируется в папку с тем же именем файла. |
Примечания
Примечание
- В настоящее время 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
ansible_remote_tmp: '%temp%'
Возвращаемые значения
Общие возвращаемые значения описаны в разделе здесь, ниже приведены поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| backup_file строка | если backup=да | Имя созданного файла резервной копии. Пример: C:\Путь\К\Файлу.txt.11540.20150212-220915.bak |
| checksum строка | успешно, src — файл | Контрольная сумма SHA1 файла после выполнения копирования. Пример: 6e642bb8dd5c2e027bf21dd923337cbb4214f827 |
| dest строка | изменено | Целевой файл/путь. Пример: C:\Временные\ |
| operation строка | успешно | Выполнено копирование отдельного файла или каталога. Пример: копирование_файла |
| 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.
Авторы
- Джон Хоуксворт (@jhawkesworth)
- Джордан Боран (@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.8/modules/win_copy_module.html