简单问:如果分区利用率超过一定百分比,我想删除一些文件.
我可以通过"ansible_mounts"访问"size_total"和"size_available".即:
ansible myhost -m setup -a 'filter=ansible_mounts'
myhost | success >> {
"ansible_facts": {
"ansible_mounts": [
{
"device": "/dev/mapper/RootVolGroup00-lv_root",
"fstype": "ext4",
"mount": "/",
"options": "rw",
"size_available": 5033046016,
"size_total": 8455118848
},
Run Code Online (Sandbox Code Playgroud)
如何访问这些值,以及如何使用Ansible基于它们有条件地执行操作?
我必须使用Ansible检查Linux机器上的不同硬件和配置元素,而且我不确定如何做到(RAM,磁盘空间,DNS,CPU ...),我知道我几乎可以找到我只想了解这些不可思议的事实,但我不知道如何使用它。
例如,我必须检查RAM量是否至少为4GB,如果不是,则发出警报,因此我尝试了很多事情,并且...无济于事。
这是我尝试过的一个例子。
- hosts: client
remote_user: user
tasks:
- debug: var=ansible_memory_mb
- debug: msg="total RAM is {{ ansible_memory_mb.real.total }}"
- fail: msg="not enough RAM"t
- when: {{ ansible_memory_mb.real.total }} < 4096
Run Code Online (Sandbox Code Playgroud)
你能告诉我它是如何工作的吗?也许有更好的方法来使用Ansible做我想做的事情?
谢谢您的回答。