bin/checkfs
changeset 2 bc2f76c0908a
parent 1 56ae2cc9eea9
child 3 bdbd5e99f85a
--- a/bin/checkfs	Thu Jan 19 22:30:35 2012 +0100
+++ b/bin/checkfs	Fri Jan 20 09:13:33 2012 +0100
@@ -1,4 +1,5 @@
 #! /usr/bin/perl
+use 5.10.0;
 use strict;
 use warnings;
 use Pod::Usage;
@@ -9,12 +10,24 @@
 
 GetOptions(
     "h|help" => sub { pod2usage(-exit => 0, -verbose => 1) },
-    "m|man" => sub { pod2usage(-exit => 0, -verbose => 2, 
-	-noperldoc => system("perldoc -V 2>/dev/null 1>&2")) },
+    "m|man"  => sub {
+        pod2usage(
+            -exit      => 0,
+            -verbose   => 2,
+            -noperldoc => system("perldoc -V 2>/dev/null 1>&2")
+        );
+    },
 ) and $fs = shift // pod2usage;
 
-return Nagios::CRITICAL;
+($fs, my ($blocks, $used, $avail, undef, $mp)) =
+  split " " => (`df -P -B 1K $fs`)[1];
+my $msg = "$fs on $mp: left ${avail}kB of ${blocks}kB";
 
+given ($avail / $blocks) {
+    when ($_ < 0.1) { print "FS CRIT - $msg\n"; exit Nagios::CRITICAL }
+    when ($_ < 0.3) { print "FS WARN - $msg\n"; exit Nagios::WARNING }
+    default         { print "FS OK - $msg\n";   exit Nagios::OK }
+}
 
 __END__
 
@@ -42,7 +55,5 @@
 
 The usual help messages;
 
-
 =back
 
-