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

Ansible在windows主机上创建zip文件备份,windows,ansible,winrm,Windows,Ansible,Winrm,我想将windows目录压缩到zip文件中。存档功能不工作 对于windows,我看到了win\u解压模块,但没有找到win\u解压模块 如何备份windows中的现有文件夹 - name: Backup existing install folder to zip archive: path: - "{{ installdir }}" dest: "{{ stragedir }}\\{{ appname }}.zip" form

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

对于windows,我看到了
win\u解压
模块,但没有找到
win\u解压
模块

如何备份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,这应该适合您。代码如下:在创建正式模块之前,请随意使用

将文件添加到库中:

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

谢谢你的代码,它成功了。为什么我们需要dest和creates参数?creates arg是可选的,dest是要创建的归档文件的名称,src当然是要压缩的文件,所以这些文件是必需的。我遵循了与win_解压模块相同的规范。感谢这个模块,希望它能很快成为核心模块的一部分。