In Linux sehe ich mit df -k /var die Kapazität eines Filesystems. Suche ein Script, das mich (für alle Server einer Liste) warnt, wenn ich mehr als 90 % sehe?

... komplette Frage anzeigen

3 Antworten

Hier ein Programm in tcl ( kann auch als Linux-Shell "tclsh" verwendet werden)

Bei den meisten Distributionen ist tcl gleich vorinstalliert
Mit:  set percents 60  sind hier aber nur 60% als Warn-Wert eingetragen.

#!/bin/bash 
# \\
exec tclsh "$0" "$@"

set percents 60
# Alarm-Grenze (Füllstand) in %

proc removeMultBlanks { line } {
set list [split $line ]
set j 0 ; set len [llength $list ]
while { $j < $len } { if {[lindex $list $j] == "" || [lindex $list $j] == " "} { set list [lreplace $list $j $j ] ; incr len -1 ; continue } ; incr j }
return [join $list ]
}

set df [eval exec df -P ]
set list1 [split $df \\n]
set length1 [llength $list1]
set result(DISK,0) ""
set r 0
set i 0
while { $i < $length1 } { set list2 [split [removeMultBlanks [lindex $list1 $i ] ] ]
set length2 [llength $list2]
set j 0
while { $j < $length2 } { set list3 [split [lindex $list2 $j ] % ]
if { [llength $list3 ] != "2" } { incr j ; continue } else {
if { [lindex $list3 0 ] >= $percents } { set result(DISK,$r) [lindex $list2 0 ]
set result(PERCENTS,$r) [lindex $list3 0 ]
incr r
set result(DISK,$r) ""
}
break
}
incr j
}
incr i
}

set r 0
while { $result(DISK,$r) != "" } { puts "Warning: Disk $result(DISK,$r) >= $result(PERCENTS,$r)% " ; incr r }
Antwort bewerten Vielen Dank für Deine Bewertung

Hallo

Suche ein Script, das mich [....] warnt, wenn ich mehr als 90 % sehe?

Sowas hier?:

if [ $(df -hT | grep "sda1" | awk '{print $6}' | tr -d '%') -gt "90" ] ;
then
notify-send "root-Partition über 90% belegt!";
fi

Das kannst Du Dir ja anpassen und via Cron zyklisch ausführen lassen.

Linuxhase

Antwort bewerten Vielen Dank für Deine Bewertung

Ja wie wäre es mit selbst schreiben?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von rupert
15.11.2016, 20:01

Habe ich sogar auch schon - allerdings funktioniert das nur, wenn der %-Wert am 5.PLatz steht - und das macht er nicht für alle RHEL-Versionen. Deshalb such ich etwas, was den %-Wert erkennt und die Zahl davor ausgibt

0

Was möchtest Du wissen?