Ich möchte mein Dateisystem beim runter fahren prüfen, um nicht jedes mal beim starten ewig zu warten.
Dazu habe ich angehängtes Script geschrieben, was auch halbwegs tut*.

Mein Problem ist, dass der Zähler für die Partition nicht zurückgesetzt wird und beim starten das System wieder anfängt, die Partition zu prüfen. Ich habe für fsck bisher auch keine Option gefunden. Die von mir durchsuchten Bootscripte erhellen mich nicht, deshalb meine Frage:
Welche Option setzt den Zähler zurück?

Wenn es keine gibt, wie kann ich den Rückgabewert von fsck abgreifen um dann durch eine if-Schleife mit tunefs den Zähler setzen zu lassen?
(Da fehlt mir momentan die Ahnung dazu)


* Wenn ein Benutzer auf der Shell eingeloggt ist, können die home-Verzeichnisse nicht ausgehängt werden und dann prüft fsck nur im readonly-Modus


Andreas
#!/bin/bash
#
x="90" 
sbin/dumpe2fs -h /dev/mapper/etch_2-home_2 | grep -i "mount count" | awk 
'/Mount/ {print $3}' | while read Ausgabe3
do
  if
    test "$Ausgabe3" \> "$x"
  then
    echo 'maximale Anzahl der Einhaengevorgaenge erreicht' 
    echo 'die Partition /dev/mapper/etch_2-home_2 wird geprueft'
    echo 'Mount counts:' "$Ausgabe3"
    echo 'aktuelle Zeit ' |date +%X
    /etc/init.d/samba stop
    /etc/init.d/fetchmail stop
    /bin/umount /dev/mapper/etch_2-home_2
    sleep 3
    /sbin/fsck.ext3 -f -n /dev/mapper/etch_2-home_2 
    echo 'aktuelle Zeit ' |date +%X
  else
    echo 'Mount counts von /dev/mapper/etch_2-home_2:' "$Ausgabe3"
    echo 'aktuelle Zeit ' |date +%X
  fi 
done  
/sbin/dumpe2fs -h /dev/mapper/etch-home | grep -i "mount count" | awk '/Mount/ 
{print $3}' | while read Ausgabe2
do
  if
    test "$Ausgabe2" \> "$x"
  then
    echo 'maximale Anzahl der Einhaengevorgaenge erreicht' 
    echo 'die Partition /dev/mapper/etch-home wird geprueft'
    echo 'Mount counts:' "$Ausgabe2"
    echo 'aktuelle Zeit ' |date +%X
    /etc/init.d/samba stop
    /etc/init.d/fetchmail stop
    /bin/umount /home
    sleep 3
    /sbin/fsck.ext3 -f -n /dev/mapper/etch-home 
    echo 'aktuelle Zeit ' |date +%X
  else
    echo 'Mount counts von /dev/mapper/etch-home:' "$Ausgabe2"
    echo 'aktuelle Zeit ' |date +%X
  fi 
done  
  
_______________________________________________
Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

Antwort per Email an