X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=src%2Fscripts%2Fmakegraphs;h=7cdd2f9bc7a2f5115ea34cf873f7167d33c0d4a4;hb=b871af81ed08222d92d98a8e7576b3f7386d5e92;hp=f8cd865df1522555d2c582ff6e85cbd8cb19a2ab;hpb=5468f10298ada324b7472d0e49bb09e615c6da5a;p=ipfire-2.x.git diff --git a/src/scripts/makegraphs b/src/scripts/makegraphs index f8cd865df1..7cdd2f9bc7 100644 --- a/src/scripts/makegraphs +++ b/src/scripts/makegraphs @@ -3,7 +3,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2008 Michael Tremer & Christian Schmidt # +# Copyright (C) 2008-2011 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -38,6 +38,11 @@ my %mainsettings = (); &General::readhash("${General::swroot}/main/settings", \%mainsettings); &General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", \%color); +if ( $mainsettings{'RRDLOG'} eq "" ){ + $mainsettings{'RRDLOG'}="/var/log/rrd"; + &General::writehash("${General::swroot}/main/settings", \%mainsettings); +} + sub updatehdddata{ my $disk = $_[0]; my $standby; @@ -55,7 +60,7 @@ sub updatehdddata{ print "Error in RRD::create for hddshutdown-".$array[$#array].": $ERROR\n" if $ERROR; } - if (-e "/tmp/hddshutdown-".$array[$#array]) {$standby = 1;} + if (-e "/var/run/hddshutdown-".$array[$#array]) {$standby = 1;} else {$standby = 0;} RRDs::update ("$mainsettings{'RRDLOG'}/hddshutdown-".$array[$#array].".rrd", "-t", "standby", "N:$standby"); @@ -78,9 +83,9 @@ sub updatehdddata{ if (!$standby){ $temp = 0; my $smart_output = ''; - system("$path_smartctl -iHA -d ata /dev/$disk > /tmp/smartctl_out_hddtemp-$disk"); - if ( -e "/tmp/smartctl_out_hddtemp-".$array[$#array] ){ - my $hdd_output = `cat /tmp/smartctl_out_hddtemp-$array[$#array] | grep Temperature_`; + system("$path_smartctl -iHA /dev/$disk > /var/run/smartctl_out_hddtemp-$disk"); + if ( -e "/var/run/smartctl_out_hddtemp-".$array[$#array] ){ + my $hdd_output = `cat /var/run/smartctl_out_hddtemp-$array[$#array] | grep Temperature_`; my @t = split(/\s+/,$hdd_output); $temp = $t[9]; }else{$temp = 0;} @@ -97,8 +102,8 @@ sub updatehdddata{ ## Update vnstat system ('/usr/bin/vnstat -u'); -my @disks = `kudzu -qps -c HD | grep device: | cut -d" " -f2 | sort | uniq`; -system("unlink /tmp/hddstatus && touch /tmp/hddstatus"); +my @disks = `ls -1 /sys/block | grep -E '^sd|^xvd|^vd|^md' | sort | uniq`; +system("unlink /var/run/hddstatus 2>/dev/null && touch /var/run/hddstatus"); foreach (@disks){ my $disk = $_; chomp $disk; @@ -109,7 +114,7 @@ foreach (@disks){ my $newdiskstats = ""; my @array = split(/\//,$disk); - $diskstats = `cat /tmp/hddstats-$array[$#array]`; + $diskstats = `cat /var/run/hddstats-$array[$#array] 2>/dev/null`; chomp $diskstats; my $newdiskstats = `/usr/bin/iostat -d -t $disk | tail -2 | head -1 | awk '{ print \$5","\$6}'`; chomp $newdiskstats; @@ -117,13 +122,13 @@ foreach (@disks){ chomp $status; if ($status !~/standby/ || $diskstats ne $newdiskstats){ - if (-e "/tmp/hddshutdown-".$array[$#array]){system("unlink /tmp/hddshutdown-".$array[$#array]);} + if (-e "/var/run/hddshutdown-".$array[$#array]){system("unlink /var/run/hddshutdown-".$array[$#array]." 2>/dev/null");} } - if (-e "/tmp/hddshutdown-".$array[$#array]){$status = " standby\n";} + if (-e "/var/run/hddshutdown-".$array[$#array]){$status = " standby\n";} else{$status = " active\n";} - open(DATEI, ">>/tmp/hddstatus") || die "Datei nicht gefunden"; + open(DATEI, ">>/var/run/hddstatus") || die "Datei nicht gefunden"; print DATEI $disk."-".$status; close(DATEI);