Я хочу заархивировать каталог Windows в zip-файл. функция архивирования не работает.
для Windows я вижу модуль win_unzip, но не нашел модуль win_zip.
Как сделать резервную копию существующей папки в Windows?
- name: Backup existing install folder to zip
archive:
path:
- "{{ installdir }}"
dest: "{{ stragedir }}\\{{ appname }}.zip"
format: zip
ошибка:
[WARNING]: FATAL ERROR DURING FILE TRANSFER: Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/ansible/plugins/connection/winrm.py", line 276, in _winrm_exec
self._winrm_send_input(self.protocol, self.shell_id, command_id, data, eof=is_last) File "/usr/lib/python2.7/site-packages/ansible/plugins/connection/winrm.py", line 256, in
_winrm_send_input protocol.send_message(xmltodict.unparse(rq)) File "/usr/lib/python2.7/site-packages/winrm/protocol.py", line 256, in send_message raise
WinRMOperationTimeoutError() WinRMOperationTimeoutError
Благодарность SR





В настоящее время от ansible нет модуля для архивирования zip-файлов в Windows. Я создал простой модуль, который действует как win-unzip, который я использую, если на хосте установлен powershell 4, это должно сработать для вас. Код здесь: https://github.com/tjkellie/PublicRepo/blob/master/ansible не стесняйтесь использовать, пока не будет создан официальный модуль.
Добавьте файлы в свою библиотеку:
library/ # Put the custom modules files here
filter_plugins/
roles/
library/ # or here
И используйте модуль из плейбука следующим образом:
- name: zip a directory
win_zip:
src: C:\Users\Someuser\Logs
dest: C:\Users\Someuser\OldLogs.zip
creates: C:\Users\Someuser\OldLogs.zip
create arg не является обязательным, dest - это имя создаваемого архива, а src - это, конечно, файлы, которые нужно заархивировать, поэтому они необходимы. Я следовал той же спецификации, что и модуль win_unzip.
Спасибо за этот модуль, надеюсь, что он скоро будет включен в состав основных модулей.
Спасибо за код, все заработало. зачем нам дест и приводит аргументы?