Perl-Skript für die Überwachung des freien Fesplattenspeicherplatzes
Das folgende Perl-Skript überwacht unter Linux den freien Speicherplatz der verbauten Festplatten (bzw. gemounteten Partitionen). Dabei lässt sich das Benachrichtigungs-E-Mail und der Schwellenwert für den freien Speicherplatz konfigurieren.
#!/usr/bin/perl
#
# settings
#
$threshold = 90;
$excludeRegex = "^\/dev\/disk2";
$mailfrom = "server\@domain.com";
$mailto = "admin\@domain.com";
$subject = "Server: Low Disk Space!";
#
# script
#
use FileHandle;
@check=`df -h`;
@warn = grep { m/(\d+\%)/ and $1 >= $threshold } @check;
$counter = 0;
$content = "";
foreach (@warn) {
if($excludeRegex ne "") {
if($_ !~ m/$excludeRegex/) {
$content = $content . $_ . "\n";
$counter++;
}
} else {
$content = $content . $_ . "\n";
$counter++;
}
}
if($counter != 0){
$mail = new FileHandle;
$mail->open("| /usr/sbin/sendmail -t") || die "Cannot open: $!";
$mail->print("From: $mailfrom\n");
$mail->print("To: $mailto\n");
$mail->print("Subject: $subject\n\n");
$mail->print($content);
$mail->close();
}