通过ansible去获取服务器的内存大小的百分之90,并存到变量中
时间: 2023-12-10 15:42:12 浏览: 211
Ansible(十五)– ansible 中的变量(四) 内置变量 ansible_version hostvars inventory_hostname 等
可以通过ansible的setup模块来获取服务器信息,其中包括内存大小。然后再通过ansible的变量过滤器将内存大小乘以0.9得到90%的值,最后将其存入变量中。
具体实现如下:
```yaml
- name: 获取服务器内存大小并存到变量中
hosts: your_server
gather_facts: yes
vars:
memory_size: "{{ ansible_facts['memory']['real']['total'] }}"
memory_threshold: "{{ (memory_size | int) * 0.9 | int }}"
tasks:
- name: 打印内存大小
debug:
var: memory_size
- name: 打印90%的内存大小
debug:
var: memory_threshold
```
在上面的playbook中,`ansible_facts['memory']['real']['total']`可以获取到服务器的内存总大小,单位为字节。然后我们将其存储在`memory_size`变量中,并通过变量过滤器将其乘以0.9得到90%的值,最后存储在`memory_threshold`变量中。
阅读全文