From: Stefan Schantl Date: Fri, 15 Mar 2024 12:53:36 +0000 (+0100) Subject: index.cgi: Simplify code for checking disk usage. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5727a67ded49305ed931312526a192cbb05284a5;p=people%2Fstevee%2Fipfire-2.x.git index.cgi: Simplify code for checking disk usage. Signed-off-by: Stefan Schantl --- diff --git a/html/cgi-bin/index.cgi b/html/cgi-bin/index.cgi index 65773244c..14ebab603 100644 --- a/html/cgi-bin/index.cgi +++ b/html/cgi-bin/index.cgi @@ -559,28 +559,21 @@ if ($used / $mem > 90) { } # Diskspace usage warning -my @temp=(); -my $temp2=(); -my @df = `/bin/df -B M -P -x rootfs`; +my @df = `/bin/df -B M -P -x tmpfs -x devtmpfs`; foreach my $line (@df) { + # Skip headline. next if $line =~ m/^Filesystem/; - if ($line =~ m/root/ ) { - $line =~ m/^.* (\d+)M.*$/; - @temp = split(/ +/,$line); - if ($1<5) { - # available:plain value in MB, and not %used as 10% is too much to waste on small disk - # and root size should not vary during time - $warnmessage .= "
  • $Lang::tr{'filesystem full'}: $temp[0] $Lang::tr{'free'}=$1M !
  • "; - } + + # Splitt processed line and assign some nice humand-readable values. + my($dev, $blocks_1k, $used, $available, $used_percent, $mpoint) = split(/\s+/, $line); - } else { - # $line =~ m/^.* (\d+)m.*$/; - $line =~ m/^.* (\d+)\%.*$/; - if ($1>90) { - @temp = split(/ /,$line); - $temp2=int(100-$1); - $warnmessage .= "
  • $Lang::tr{'filesystem full'}: $temp[0] $Lang::tr{'free'}=$temp2% !
  • "; - } + # Check if more than 90% of disk is consumed. + if ($used_percent > 90) { + # Calculate remain free space. + my $free=int(100-$used_percent); + + # Add a warning message. + $warnmessage .= "
  • $Lang::tr{'filesystem full'}: $dev $Lang::tr{'free'}=$free% !
  • "; } }