在Ansible中使用通配符进行批量复制

Sri*_*nth -6 ansible

请注意,我试图使用ansible将批量文件从源服务器复制到目标服务器.在尝试错误时.请帮我.

---
- name: Going to copy bulk files
hosts: test
vars_prompt:
- name: copy
prompt: Enter the Bulk File to Copy
private: no
tasks:
- name: Copy bulk files
shell: cp /tmp/guru/{{ copy }}* /ansible/sri
Run Code Online (Sandbox Code Playgroud)

zig*_*arn 7

shell模块在目标服务器上执行shell命令,该命令解释了错误消息cp: cannot stat ‘/tmp/guru/a*’: No such file or directory:cp目标服务器上不存在源文件.

Ansible提供了许多比执行shell命令更适合使用的模块.

在您的情况下,copy模块是您需要的模块:它将文件从源服务器复制到目标服务器.您可以将它与with_fileglob循环组合:

tasks:
  - name: Copy bulk files
    copy:
      src: "{{ item }}"
      dest: /ansible/sri
    with_fileglob: "/tmp/guru/{{ copy }}*"
Run Code Online (Sandbox Code Playgroud)