无法使用Ansible copy模块复制目录

无法使用Ansible copy模块复制目录,ansible,ansible-playbook,Ansible,Ansible Playbook,我一直在尝试将目录(在Linux中)复制到远程Windows节点。我可以复制单个文件,没有任何问题。但是当我试图复制一个目录时,得到了以下错误 环境:Windows7 命令:ansible--verbose Windows-m copy-a“src=~/Releases dest=C:\ansible” 错误: 10.8.0.4 | FAILED => Traceback (most recent call last): File "/usr/lib/python2.7/dist-pa

我一直在尝试将目录(在Linux中)复制到远程Windows节点。我可以复制单个文件,没有任何问题。但是当我试图复制一个目录时,得到了以下错误

环境:Windows7

命令:ansible--verbose Windows-m copy-a“src=~/Releases dest=C:\ansible”

错误:

10.8.0.4 | FAILED => Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/ansible/runner/__init__.py", line 561, in _executor
    exec_rc = self._executor_internal(host, new_stdin)
  File "/usr/lib/python2.7/dist-packages/ansible/runner/__init__.py", line 666, in _executor_internal
    return self._executor_internal_inner(host, self.module_name, self.module_args, inject, port, complex_args=complex_args)
  File "/usr/lib/python2.7/dist-packages/ansible/runner/__init__.py", line 884, in _executor_internal_inner
    result = handler.run(conn, tmp, module_name, module_args, inject, complex_args)
  File "/usr/lib/python2.7/dist-packages/ansible/runner/action_plugins/copy.py", line 252, in run
    module_return = self.runner._execute_module(conn, tmp_path, 'copy', module_args_tmp, inject=inject, complex_args=complex_args, delete_remote_tmp=delete_remote_tmp)
  File "/usr/lib/python2.7/dist-packages/ansible/runner/__init__.py", line 483, in _execute_module
    argsfile = self._transfer_str(conn, tmp, 'arguments', utils.jsonify(utils.parse_kv(args)))
  File "/usr/lib/python2.7/dist-packages/ansible/utils/__init__.py", line 690, in parse_kv
    vargs = split_args(args)
  File "/usr/lib/python2.7/dist-packages/ansible/module_utils/splitter.py", line 182, in split_args
    raise Exception("error while splitting arguments, either an unbalanced jinja2 block or quotes")
Exception: error while splitting arguments, either an unbalanced jinja2 block or quotes

Ansible目前有一个相当好的应用程序,我认为Windows系统不支持复制模块。拷贝、文件和模板模块的Windows版本被放入github上的ansible模块核心项目中。看起来它们依赖于一个单独的程序本身,而且它显然预定在ansible 1.9中提供。模块可用时将命名为win_copy、win_file和win_template。

是的,完全同意Bruce的观点

我发现这个非常有用的模块是copy.ps1

然后事情就开始了:-)

重要提示:您必须将Windows(7)Powershell升级到4.0版


是的,看到Ansible的新windows功能主义者真是太好了。

我的另一种想法是,我们可以。压缩文件夹并将.zip文件复制到远程windows节点,然后轻松地从ps脚本解压。