From: maniacikarus Date: Tue, 18 Sep 2007 17:33:42 +0000 (+0000) Subject: Neuer Versuch fuer Syslog X-Git-Tag: v2.3-beta1~374 X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=commitdiff_plain;h=56b7a3e2c4ad404ec589b01479b4a65609fbfc23 Neuer Versuch fuer Syslog Index Refresh bei Shutdown und Reboot angepasst hddshutdown umgeschrieben git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@900 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8 --- diff --git a/html/cgi-bin/index.cgi b/html/cgi-bin/index.cgi index 28bd09c88b..f227a1703e 100644 --- a/html/cgi-bin/index.cgi +++ b/html/cgi-bin/index.cgi @@ -55,10 +55,13 @@ my %mainsettings = (); &General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", \%color); my $connstate = &Header::connectionstatus(); -if ($connstate =~ /$Lang::tr{'dod waiting'}/ || -e "${General::swroot}/main/refreshindex") { - $refresh = ""; + +if ($cgiparams{'ACTION'} eq $Lang::tr{'shutdown'} || $cgiparams{'ACTION'} eq $Lang::tr{'reboot'}) { + $refresh = ""; } elsif ($connstate =~ /$Lang::tr{'connecting'}/) { $refresh = ""; +} elsif ($connstate =~ /$Lang::tr{'dod waiting'}/ || -e "${General::swroot}/main/refreshindex") { + $refresh = ""; } if ($cgiparams{'ACTION'} eq $Lang::tr{'dial profile'}) diff --git a/src/misc-progs/syslogdctrl.c b/src/misc-progs/syslogdctrl.c index db2659ecb4..184f450145 100644 --- a/src/misc-progs/syslogdctrl.c +++ b/src/misc-progs/syslogdctrl.c @@ -112,7 +112,7 @@ int main(void) else snprintf(buffer, STRING_SIZE - 1, "/bin/sed -e 's/^#\\?\\(\\*\\.\\*[[:blank:]]\\+@.\\+\\)$/#\\1/' /etc/syslog.conf >&%d", config_fd ); - snprintf(buffer, STRING_SIZE - 1, "/bin/sed 's/.*\\/var\\/log\\/messages.*/%s \\/var\\/log\\/messages/' /etc/syslog.conf >&%d", varmessages, config_fd ); + snprintf(buffer, STRING_SIZE - 1, "/bin/sed 's#.*/var/log/messages.*#%s /var/log/messages#' /etc/syslog.conf >&%d", varmessages, config_fd ); /* if the return code isn't 0 failsafe */ if ((rc = unpriv_system(buffer,99,99)) != 0) diff --git a/src/scripts/hddshutdown b/src/scripts/hddshutdown index 6bd24104f0..86ec23d480 100644 --- a/src/scripts/hddshutdown +++ b/src/scripts/hddshutdown @@ -4,37 +4,34 @@ # # This code is distributed under the terms of the GPL # -# 20.08.2007 Maniacikarus - IPFire.org - maniacikarus@ipfire.org +# 18.09.2007 Maniacikarus - IPFire.org - maniacikarus@ipfire.org # # begin -my @proc = `cat /proc/diskstats`; my @devices = `kudzu -qps -c HD | grep device: | cut -d" " -f2 | sort | uniq`; -my %diskstatus = ""; -my %diskstate = ""; +my $diskstats = ""; +my $newdiskstats = ""; my $debug = 1; my $status = "unknown"; -if ($debug){print "### Reading Diskstats ###\n";} - -foreach (@proc){ -my @line = split(/ +/,$_); -$diskstatus{$line[3]} =$line[12]; -if ($debug){print "Getting device ".$line[3]." with the following value ".$line[12]."\n";} -} - if ($debug){print "### Searching for available Disks ###\n";} foreach (@devices){ chomp $_; -if ($debug){print "Device ".$_." has ".$diskstatus{$_}." IO Requests.\n";} +$diskstats = `iostat -d -t $_ | tail -2 | head -1 | awk '{ print \$5","\$6}'`; $status = `hdparm -C /dev/$_ | tail -1 | cut -d: -f2`; - - if ($diskstatus{$_} eq "0" && $status !=~/standby/){ - if ($debug){print "Device ".$_." is set to standy.\n";} - system("/sbin/hdparm -y /dev/$_"); - system("touch /tmp/hddshutdown-$_"); +chomp $status; +chomp $diskstats; +if ($debug){print "Device ".$_." is in status".$status." and has ".$diskstats." write and read Requests.\n";} +sleep 30; +$newdiskstats = `iostat -d -t $_ | tail -2 | head -1 | awk '{ print \$5","\$6}'`; +chomp $newdiskstats; + + if ($diskstats eq $newdiskstats && $status !=~/standby/){ + if ($debug){print "Device ".$_." is set to standy.\n";} + system("/sbin/hdparm -y /dev/$_"); + system("touch /tmp/hddshutdown-$_"); } elsif ($diskstatus{$_} ne "0" || $status !=~/standby/){ if ($debug){print "Device ".$_." is active.\n";}