2009. 5. 28. 12:13

# 현재 하드 용량이 얼마나 쓰고 있는지 체크 후, 관리자에게 메일을 전송해주는 Script

#!/usr/bin/perl

$EMAIL1="naver\@naver\.com";
$EMAIL2="nate\@nate\.com";
$EMAIL3="gmail\@gamil\.com";

$DF=`which df`;
chop($DF);
$SED=`which sed`;
chop($SED);
$MAIL=`which mail`;
chop($MAIL);

# Check HDD
$FILE = "/tmp/fh_check_hdd.txt";
$CMD="$DF |$SED -e '/^[^ ][^ ]*\$/{ N ; s/[ ]*\\n[ ]*/ /;}' |awk '{print \$5}' >$FILE";
system($CMD);
$DFALL = "$DF > /tmp/fh_hdd.txt";
$SEND = "$MAIL -s \"[IRLink-DCS서버용량확인]서버용량을 Check해주세요\" -c
$EMAIL2 -b $EMAIL3 $EMAIL1 < /tmp/fh_hdd.txt";

open RD, "<$FILE";
while( $Line = <RD> ){
    chop( $Line );
    &Trim( $Line );
    if( $Line eq "" ){
        next;
    }
    my($use,@d)=split("%",$Line);
    if( $Line=~/\d+/ ){
        if( $use > 80 ){
            print "checking hdd --> 사용량 : $use\n";
            system($DFALL);
            system($SEND);
        }
    }
}
close(RD);

sub Trim($) {
    my $string = shift;
    $string =~ s/^\s+//;
    $stirng =~ s/\s+$//;
    return $string;
}

Posted by Kimos