Ansible 在 windows 主机上创建一个 zip 文件备份

Ansible create a zip file backup on windows host

我想将 windows 目录压缩成 zip 文件。存档功能不工作。

for 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 目前没有模块可以在 Windows 上进行 zip 归档。我创建了一个简单的模块,它的作用类似于我使用的 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