###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2008 Michael Tremer & Christian Schmidt #
+# Copyright (C) 2008-2013 IPFire Team <info@ipfire.org> #
# #
# 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 #
if (!$standby){
$temp = 0;
my $smart_output = '';
- system("$path_smartctl -iHA -d ata /dev/$disk > /var/run/smartctl_out_hddtemp-$disk");
+ 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);
## Update vnstat
system ('/usr/bin/vnstat -u');
-my @disks = `kudzu -qps -c HD | grep device: | cut -d" " -f2 | sort | uniq`;
-system("unlink /var/run/hddstatus && touch /var/run/hddstatus");
+my @disks = `ls -1 /sys/block | grep -E '^sd|^mmcblk|^xvd|^vd|^md' | sort | uniq`;
+system("unlink /var/run/hddstatus 2>/dev/null && touch /var/run/hddstatus");
foreach (@disks){
my $disk = $_;
chomp $disk;
my $newdiskstats = "";
my @array = split(/\//,$disk);
- $diskstats = `cat /var/run/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;
chomp $status;
if ($status !~/standby/ || $diskstats ne $newdiskstats){
- if (-e "/var/run/hddshutdown-".$array[$#array]){system("unlink /var/run/hddshutdown-".$array[$#array]);}
+ if (-e "/var/run/hddshutdown-".$array[$#array]){system("unlink /var/run/hddshutdown-".$array[$#array]." 2>/dev/null");}
}
if (-e "/var/run/hddshutdown-".$array[$#array]){$status = " standby\n";}