如何解决无法为 ansible 中的每个循环项输出标准输出
团队,
我想输出我循环的项目的每个标准输出的值。我的情况是查找循环中传递的目录列表的目录大小。所以我无法打印出从我的命令 du -sk /core
的输出中获得的目录名称和大小,例如一种情况
任务
- name: Calculate directories size
command: "du -sk /{{ item }}"
register: folder_size_raw
with_items: "{{ directories }}"
ignore_errors: yes
tags: tag_directories_size
- set_fact:
stdout_lines: []
- set_fact:
stdout_lines: "{{ stdout_lines + item.stdout_lines }}"
with_items: "{{ folder_size_raw.results }}"
- debug:
msg: "This is a stdout line: {{ item }}"
with_items: "{{ stdout_lines }}"
vars/main.yaml
#variables
directories: ["core","home","lib","mnt","root","raid","usr","var/lib","var"]
输出
16:07:51 PLAY [Node_Operations] *********************************************************
16:07:51 TASK [node_operations : Calculate directories size] ****************************
16:07:51 Saturday 06 March 2021 00:07:51 +0000 (0:00:00.153) 0:00:00.153 ********
16:07:54 changed: [node1] => (item=core)
16:07:57 changed: [node1] => (item=home)
16:07:57 changed: [node1] => (item=lib)
16:07:57 changed: [node1] => (item=mnt)
16:07:58 changed: [node1] => (item=root)
16:07:59 changed: [node1] => (item=raid)
16:07:59 changed: [node1] => (item=usr)
16:10:28 changed: [node1] => (item=var/lib)
16:13:31 changed: [node1] => (item=var)
16:13:31
预期
16:07:51 PLAY [Node_Operations] *********************************************************
16:07:51
16:07:51 TASK [node_operations : Calculate directories size] ****************************
16:07:51 Saturday 06 March 2021 00:07:51 +0000 (0:00:00.153) 0:00:00.153 ********
16:07:54 changed: [node1] => (item=core)
16:07:57 changed: [node1] => (item=home)
16:07:57 changed: [node1] => (item=lib)
16:07:57 changed: [node1] => (item=mnt)
16:07:58 changed: [node1] => (item=root)
16:07:59 changed: [node1] => (item=raid)
16:07:59 changed: [node1] => (item=usr)
16:10:28 changed: [node1] => (item=var/lib)
16:13:31 changed: [node1] => (item=var)
16:13:31
This is a stdout line: 1GB /core
This is a stdout line: 3GB /home
......
....
...
解决方法
Ansible 对循环迭代的结果进行了内置计算。
testFunction
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。