#!/usr/bin/perl # ############################################################################ # # Name: dfer.pl # Author: pete@rasterweb.net # Description: gets amount of free disk space and emails it to you... # # $Id: dfer.pl,v 1.1 2003/10/07 18:21:26 pete Exp pete $ # ############################################################################ #################################################################### # required modules use Mail::Sendmail; #################################################################### # set variables - edit these as needed $subject = 'Disk Space'; $recipient = 'fee@bar.baz'; $sender = 'foo@bar.baz'; #################################################################### # get free disk space $cmd = `df -H -l`; $output = ''; @array = split ("\n", $cmd); foreach $dev (@array) { chomp ($dev); if ($dev =~ /^Filesystem|^\/dev/) { $output .= "$dev\n"; } } $result = "\n\n$output\n\n"; &sendmailmsg; ################### # subs below here # #################################################################### #################################################################### # sub to send mail sub sendmailmsg { %mail = ( From => $sender, To => $recipient, Subject => $subject, Message => $result, ); sendmail(%mail) or die ("Oops! $! $Mail::Sendmail::error"); } # END sub sendmailmsg __END__ Example of output: Filesystem Size Used Avail Capacity Mounted on /dev/disk0s3 97G 17G 79G 18% / /dev/disk0s5 43G 14G 29G 32% /Volumes/Foo /dev/disk0s7 20G 12G 7.8G 61% /Volumes/Bar