Perl 采集磁盘信息

#!/usr/bin/perl
use 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  
";
}
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
", "$fs",$type,$size,$used,$avail,"$usage%",$mounted);
        } else {
            printf("%-36s%-6s%-6s%-6s%-6s%-6s%s
", $fs,$type,$size,$used,$avail,"$usage%",$mounted);
        }
    }
    print "-" x 80 ."
";
$dbh->disconnect();
}
disk_space

原文地址:https://www.cnblogs.com/hzcya1995/p/13351911.html