[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: