Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

script to send a mail, if the partition is quite full

by cc (Beadle)
on Apr 17, 2012 at 18:22 UTC ( #965542=perlquestion: print w/ replies, xml ) Need Help??
cc has asked for the wisdom of the Perl Monks concerning the following question:

Hi

I'm looking for a perl script to send a mail, if the linux partition is quite full, for example 95% used capacity.

Comment on script to send a mail, if the partition is quite full
Replies are listed 'Best First'.
Re: script to send a mail, if the partition is quite full
by Old_Gray_Bear (Bishop) on Apr 17, 2012 at 19:28 UTC
    You want to look at Nagios. You get monitoring, and thus warning, before the file system falls over.

    ----
    I Go Back to Sleep, Now.

    OGB

Re: script to send a mail, if the partition is quite full
by i5513 (Pilgrim) on Apr 17, 2012 at 22:40 UTC
    Hello,

    A typical shell script solution would be

    # df /partition | perl -ne 'exit 1 if (/(\d+)%/ and $1 < 95)' && echo "Partition full in $(hostname)" | mail -s "$(hostname) - Partition full" xx@yy.com

    But If you want a pure perl solution, then take a look at Filesys::Df and Mail::Send

    Other option, if you need a more complete soltution, is using a monitor system like nagios (which was recommended in first comment), munin, or zabbix

    Also, please read How do I post a question effectively?.

    PD: Updated to be one perl line script

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://965542]
Approved by halfcountplus
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (12)
As of 2015-07-29 18:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (267 votes), past polls