diff -r 56ae2cc9eea9 -r bc2f76c0908a bin/checkfs --- 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 -