如何从Ansible中的find模块获取匹配的返回值?

时间:2019-07-12 14:34:52

标签: ansible

我正在运行一个Ansible剧本,它查找目录,并且如果大小大于1兆字节,则表明已找到匹配项。我只想验证它找到了正确的文件。但是,我很难捕获输出。我在文档中使用了调试模块,但仍然没有解决它。

- hosts: node2 
  tasks: 
    - name: Recursively find /tmp files with last access time greater than 3600 seconds
      find:
        paths: /tmp/myFile/outputs
        size: 1m
        recurse: yes

    - debug:
        matched:

我收到此错误:

TASK [debug] *******************************************************************************************************************************************************************************************
fatal: [10.245.61.245]: FAILED! => {"msg": "Invalid options for debug: matched"}

1 个答案:

答案 0 :(得分:0)

您可以将任务的返回值保存到变量中,然后可以打印出该变量。

(我稍微修改了您的代码)

- hosts: node2 
  tasks: 
    - name: Recursively find /tmp files with last access time greater than 3600 seconds
      find:
        paths: /tmp
        size: 1k
        recurse: yes
      register: result

    - debug:
        var: result

如果您想更深入地了解,则有一些有用的链接:

希望我能为您提供帮助:)