use Win32::AdminMisc;

use Mail::Sendmail;

use strict;

my ($total, $free, %mail,

	$machine, $drive, $low,

	$to, $from, # Email addresses

	);

$machine = 'OvertaxedMachine';

$drive = "c:/";

$low = 50000000; # 50MB

$to = 'notify@foobar.com';

$from = "$machine\@foobarcom";



my $VERSION = 0.15;



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

	

=head1 NAME



disklow - Send notification of low disk space.



=head1 DESCRIPTION



There are several products on the market that send notification of

low disk space, but most of them are not free. This monitors disk space

at regular intervals, and sends email if space gets low.



=head1 README



Sends email notification of low disk space



=head1 PREREQUISITES



	Win32::AdminMisc

	Mail::Sendmail



=head1 COREQUISITES



None



=pod OSNAMES



MSWin32



=pod SCRIPT CATEGORIES



Win32



=cut