我想在 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";
}
问候