Perl 采集磁盘信息

来源:互联网 发布:无人深空优化差 编辑:程序博客网 时间:2024/05/16 08:16
#!/usr/bin/perluse HTTP::Date qw(time2iso str2time time2iso time2isoz);use strict;use Sys::Hostname;use DBI;my $hostip='10.5.129.243';my $dbName = 'orcl';  my $dbUser = 'test';  my $dbUserPass = 'test';  my $dbh = DBI->connect("dbi:Oracle:$dbName", $dbUser, $dbUserPass) or die "can't connect to database ";my $cpu_trigger=1.6;my $disk_trigger=75;my $memory_trigger=40;my $io_trigger=70;my $cpu_event;my $memory_event;my $red="\e[1;31m";my $green="\e[1;32m";my $yellow="\e[1;33m";my $normal="\e[0m";sub section() {    my $section=shift;    print ">>>>>$green $section $normal  \n";}sub disk_space() {    §ion("DISK SPACE");    my $line;    my @array=`df -PTh | sed '1d'`;    foreach my $i (@array) {    my ($fs,$type,$size,$used,$avail,$usage,$mounted);        chomp $i;        $i =~ s/(^\s+|\s+$)//g;        $i =~ s/\s+/ /g;        ($fs,$type,$size,$used,$avail,$usage,$mounted)=split /\s+/,$i;my $CurrTime = time2iso(time()); $dbh->do("insert into cpu_info values ('$hostip','$fs','$type','$size','$used','$avail','$usage','$mounted',to_date('$CurrTime','YYYY-MM-DD hh24:mi:ss'))") or die($DBI::errstr);        substr($usage, -1, 1)="";        if ($usage > $disk_trigger ) {            printf("%-36s%-6s%-6s%-6s%-6s${red}%-6s${normal}%s\n", "$fs",$type,$size,$used,$avail,"$usage%",$mounted);        } else {            printf("%-36s%-6s%-6s%-6s%-6s%-6s%s\n", $fs,$type,$size,$used,$avail,"$usage%",$mounted);        }    }    print "-" x 80 ."\n";$dbh->disconnect();}disk_space

0 0