因此,我试图从/ tmp目录中获取事实,以获取是否已挂载大小和权限文件的结果。因此,我使用了find模块,它为我提供了结果,但没有提供我想要的结果。 例如:如果我的临时目录为50gb,许可权为777,则结果应显示目录名称,安装大小和许可代码。所以我要显示的是临时目录文件夹的完整大小,而不是每个信息文件。
- name: "get the facts"
find:
path: /tmp
file_type: directory
recurse: no
size: 50g
register: find_result
- name: "print the result"
debug: var=find_result
答案 0 :(得分:1)
Q:获取大小,是否正在挂载以及获得许可的结果。
A:使用stat获取大小和权限。变量 ansible_mounts
是安装点的列表。例如剧本
- hosts: localhost
gather_facts: True
vars:
my_dir: /mnt
tasks:
- stat:
path: "{{ my_dir }}"
register: result
- debug:
msg: "size:{{ result.stat.size }} mode:{{ result.stat.mode }}"
- debug:
msg: "{{ my_dir }} is mount-point"
when: my_dir in ansible_mounts|json_query('[].mount')
- debug:
msg: "{{ my_dir }} is not mount-point"
when: my_dir not in ansible_mounts|json_query('[].mount')
给予
"msg": "size:32768 mode:0755"
"msg": "/mnt is mount-point"
skipping: [localhost]
注释
ansible_mounts
设置为gather_facts
,True
。