2

我只想知道如何通过ansible代码检查文件是否存在或没有任何目录。我已经尝试使用路径为“* .test”的 stat 模块,但它没有工作。

以下是我的尝试:

- name: Check license file exist or not
  stat:
    path: /var/www/vb_backup/vb/*.test
  register: license

因为stat 模块中的路径需要特定的文件或目录。我希望每个人都在这方面帮助我。

先感谢您。

Ansible 版本:ansible 2.8.7

4

4 回答 4

3

使用模块查找。例如

  - find:
      paths: /var/www/vb_backup/vb
      patterns: "*.test"
    register: result

  - debug:
      msg: "No files found."
    when: result.matched == 0

  - debug:
      msg: "File found: {{ item.path }}"
    loop: "{{ result.files }}"
于 2020-01-24T10:31:34.810 回答
0

you can use find module like this

find:
  paths: /var/www/vb_backup/vb/
  patterns: *.test

then you can invoke matched files

于 2020-01-24T15:03:57.090 回答
0

您可以使用查找模块和断言模块。

- name: Find files
  find:
    paths: /var/www/vb_backup/vb
    patterns: *.test'
  register: output
- name: message
  assert:
    that:
    - output.matched
    fail_msg: "File not found"
    success_msg: "File found"

于 2020-01-24T10:30:23.940 回答
0

这应该做的工作。

path: "{{/var/www/vb_backup/vb/*.test}}"
于 2020-01-24T14:07:09.970 回答