10 Ağustos 2007 Cuma

Low Disk Space Monitor (win32)

use Win32::AdminMisc;
use Mail::Sendmail;
use strict;
my ($total, $free, %mail,
$machine, $drive, $low,
$to, $from, # Email addresses
);
$machine = 'DBSQL01';
$drive = "c:/";
$low = 50000000; # 50MB
$to = 'notify@address.com';
$from = "$machine\@address.com";

my $VERSION = 0.1;

while (sleep 43200) { # Check every 12 hours
($total, $free) = Win32::AdminMisc::GetDriveSpace($drive);
print "$free bytes remaining\n";

if ($free < $low) {
%mail = (To => $to,
From => $from,
Subject => "$machine low on disk space",
Message => "$machine is low on disk space again.
($free bytes remaining.)"
);
sendmail(%mail) or die $Mail::Sendmail::error;
} # End if;
} # Wend


0 Comments: