我试图在Ansible中减去2个变量,但结果是零。
- name: ansible calculate space
hosts: pghosts
gather_facts: false
tasks:
- name: Check /srv freespace
shell: df /srv --output\=avail | tail -1
register: srv_freespace
- name: Check postgres data dir size
shell: du -ks /srv/postgresql/data |awk '{ print $1 }'
register: postgres_data
- debug:
msg: "substraction {{ srv_freespace|int - postgres_data|int }}"
- copy: content="{{ srv_freespace|int - postgres_data|int }}" dest=/tmp/results.txt发布于 2022-06-25 20:48:38
尝试将最后一行更改为:
- copy: content="{{ srv_freespace.stdout|int - postgres_data.stdout|int }}" dest=/tmp/results.txt解释性:已注册的变量不是字符串,而是dict。dict包括几个键,如命令名称、命令开始和结束时间、退出代码和其他好东西。实际值(即打印到标准输出的内容)在stdout键下。
https://stackoverflow.com/questions/72756218
复制相似问题