如果我的磁盘已满 90% 以上,如何向 cfengine3 添加 low_disk_space 类?

如果我的磁盘已满 90% 以上,如何向 cfengine3 添加 low_disk_space 类?

我想在 cfengine3 中设置一个类,这样如果磁盘几乎满了,我就可以执行一个操作。

答案1

以下是我的做法。repair_failed助记符并不真正适合“我们检测到的可用磁盘空间比您想要的要少”,因为它不会尝试修复,但它似乎是添加类的方法。它对没有额外类的可用磁盘空间给出了完美的解释ohno,但最终我想清除临时目录、真空数据库等,作为对条件的反应……

bundle agent storage
{
storage:
    "/" volume => low_disk_space;

reports:
    ohno::
       "Oh noes!";
}

body volume low_disk_space {
        freespace => "10%";
        repair_failed => { "ohno" };
}

答案2

您可以使用该函数磁盘空闲返回分区上的可用空间

这是一个简单的例子(是的,我有很多可用空间):

body common control {
    bundlesequence => { "test_free_space" };
}

bundle agent test_free_space {
    vars:
        "free" int => diskfree("/home");
        "min_free_space" int  => "200000000";
    classes:
        "not_enough_size" expression => isgreaterthan("$(min_free_space)", "$(free)");

    reports:
        not_enough_size::
            "There is not enough space left on /home";
}

问候

相关内容