我想在cfengine3中设置一个类,这样如果磁盘快满了,我可以执行一个动作。
这是我做的。 repair_failed助记符不适合“我们检测到可用磁盘空间less于想要的”,因为它不尝试修复,但似乎是作为结果添加类的方式。 它提供了一个完美的解释,没有额外的ohno类的可用磁盘空间,但最终我想清除临时目录,真空数据库等作为条件的反应…
bundle agent storage { storage: "/" volume => low_disk_space; reports: ohno:: "Oh noes!"; } body volume low_disk_space { freespace => "10%"; repair_failed => { "ohno" }; }
您可以使用返回分区上可用空间的函数diskfree
这里是一个简单的例子(是的,我有很多的自由空间):
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"; }
问候