Re: Information bevor Dateisystemcheck ansteht
Title: Re: Information bevor Dateisystemcheck ansteht
Hallo Liste!
> "A. Bischof" <a.bischof@gmx.net> wrote:
>>Am 24.12.2010 06:22, schrieb Hyte Software Inh. R. Bendig:
>>> Am 24.12.2010 03:25, schrieb Claudius Hubig:
>>...
>>> echo -e \
>>> " Aktueller Mountcount: $CNT\n" \
>>> "Maximaler Mountcount: $MNT\n" \
>>> "Verbleibende Mounts: $(($MNT - $CNT))\n" \
>>> "Check spaetestens am: `tune2fs -l $dev \
>>> | grep "^Next check after:" \
>>> | awk '{for (j=4;j<NF;j++) printf $j " "}'`" \
>>> | column -t -s ":"
>>> done
>>erst mal vielen Dank für die Programmierung - gerade die wollte ich ja eigentlich mit meiner Frage nach einem fertigen Skript vermeiden
>>Jetzt fängt nämlich wahrscheinlich der Unterschied zwischen ein
>>em schnellen Skript und einem Tool an:
>>Die Anzeige ist ja schön, und wie ich sagte ist ja alles in tune2fs drin - aber ich will eben _nicht_ jeden Tag für alle Partitionen (>10) di
>>e Ausgabe durchsehen, sondern ich möchte _dann_ einen Hinweis, wenn be
>>im nächsten Booten ein Dateisystemcheck ansteht.
>>Also müßte das Skript mindestens anfragen ob "verbleibende Moun
>>ts" = 0 ist oder "Check spätestens am:" < 24h (bspw., besser konfigurierbar)
>>.
>>Wenn eine der Bedingungen erreicht ist, gibt das Skript eine Meldung|Email etc. aus, und zwar _nur dann!_
> Hey,
> der erste Teil ist ja recht einfach durchzuführen:
> #!/bin/bash
> DEVICES="/dev/sda1"
> MINCNT=3
> for dev in $DEVICES; do
> if ! /sbin/tune2fs -l $dev &>/dev/null; then
> echo "$dev enthaelt kein gueltiges Dateisystem!"
> continue;
> fi
> CNT=`tune2fs -l $dev | grep "^Mount count:" | awk '{printf $3}'`
> MNT=`tune2fs -l $dev | grep "^Maximum mount count:" | awk '{printf $4}'`
> if [ $(($MNT-$CNT)) -le $MINCNT ]; then
> echo "$dev wird nach $(($MNT-$CNT)) Mounts ueberprueft!"
> fi
> done
> Das gibt jetzt nur dann etwas aus, wenn eben diese Bedingung erfüllt ist.
> Der zweite Teil ist etwas komplexer, weil ich tune2fs bisher noch
> nicht überreden konnte, diesen Zeitpunkt in der Unix-Zeit auszugeben
date -d "$(sudo tune2fs -l /dev/sda1 | grep "Next check after" | cut -d' ' -f5-)" +%s
liefert mir:
1305743113
date -d @1305743113
sagt mir:
Mi 18. Mai 20:25:13 CEST 2011
was sich mit:
sudo tune2fs -l /dev/sda1 | grep "Next check after"
Next check after: Wed May 18 20:25:13 2011
deckt.
> bzw. date +%s -d `$zeitstring` auch scheitert (bin eben auch kein
> Profi :)). Sobald das aber irgendwie™ geht, ist es auch nur ein
> if [ $(($zeitinunix - `date +%s`)) -le 86400 ]; then
> echo "$dev wird innerhalb des naechsten Tages ueberprueft!"
> fi
> Wenn man das ganze in cron.daily (oder ähnliches) packt und das
> System richtig konfiguriert ist, gibt es ja dann auch eine e-Mail.
> HTH,
> Claudius
> --
> Do not worry about which side your bread is buttered on: you eat BOTH sides.
Den Rest überlass ich euch. Ich setz mich jetzt untern Baum.
Fröhliche Weihnachten!
Gruss Wolfgang
Reply to: