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

时间:2018-03-09 15:52:39

标签: windows ansible winrm

我想将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

1 个答案:

答案 0 :(得分:3)

目前没有来自ansible的模块在Windows上进行zip存档。我创建了一个简单的模块,就像我使用的win-unzip一样,只要在主机上安装了powershell 4,这应该适合你。代码在这里:https://github.com/tjkellie/PublicRepo/blob/master/ansible随意使用,直到创建官方模块。

将文件添加到您的库中:

- name: zip a directory
  win_zip:
    src: C:\Users\Someuser\Logs
    dest: C:\Users\Someuser\OldLogs.zip
    creates: C:\Users\Someuser\OldLogs.zip

使用像这样的剧本中的模块:

{{1}}