ansible功能实现
模糊匹配远程主机文件并拉取到本地服务器
又熬夜加班了。花很长时间研究出来。如何实现模糊匹配到的远程文件批量拉取到本地的剧本。使用copy模块的*,shll模块的* ls|grep XX都没有实现,貌似shell模块应该也能实现,只是因为收到其它错误影响,有时间再验证下。
实现思路:批量复制远程文件,既然无法直接用模块实现,那么可以在远程主机写个脚本,远程执行脚本做模糊匹配(或者是其它)获取需要的信息作为变量,教给其它需要的任务来操作,
[machangwei@Mxxxxx01 ~/mcw/piliang]$ cat 2.yml - hosts: all tasks: - name: copy: content='ls /tmp/|grep xml' dest=/tmp/mcw1.sh - name: register variable shell: sh /tmp/mcw1.sh register: info - name: debug: msg="{{info.stdout}}" - name: fetch: dest=/home/machangwei/jixian/ src=/tmp/{{info.stdout}}
执行结果演示