Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
brahma
- Beiträge: 653
- Registriert: 28.08.2003 11:05:46
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Münsterland
Beitrag
von brahma » 25.10.2007 11:42:33
Da mir das Prüfen der Partition alle 30 Tage beim booten auf den Keks geht, wollt ich das beim runterfahren alle 29 Tage automatisch machen lassen.
Dafür hab ich mir ein kleines Script gebastelt, aber bisschen was fehlt da noch.
Code: Alles auswählen
#! /bin/bash
# Automatisches pruefen der Partitionen alle X Tage beim herunterfahren statt booten
# Variablen:
days = 29
##############################
# aktuellen Zaehler einlesen
# noch keine Ahung wie
# mal sehen....
aktdays = 0
##############################
###############################################
# Optionen:
# -A alle Dateisysteme in /etc/fstab
# -a automatisch reparieren
# -C Zeige Fortschrittsanzeige
if [ "$aktdays" = "$days"] ; the
fsck -A -a -C
$aktdays = 0
exit 0
else
$aktdays = $aktdays + 1
exit 0
fi
fi
Jetzt ist noch die Frage wo ich die 29 Tage herbekomme. Ich wollte erst eine Datei anlegen und darin einen Zähler fortlaufen lassen. Geht das? Gibts was eleganteres?
Wo muss das Script überhaupt hin damit / und Co beim shutdown problemlos geprüft werden können? Nach /etc/rcS.d?
/* NO COMMENT */
-
Pawel
- Beiträge: 284
- Registriert: 27.11.2006 03:59:39
Beitrag
von Pawel » 25.10.2007 12:17:13
brahma hat geschrieben:Wo muss das Script überhaupt hin damit / und Co beim shutdown problemlos geprüft werden können? Nach /etc/rcS.d?
In /etc/rc0.d/. rcS.d wird beim Booten ausgeführt (steht auch in der README in dem Verzeichnis).
Schau dir zu den Run Levels auch mal folgenden Artikel an:
http://www.debian-administration.org/articles/212
Eigentlich brauchst du auch nicht ein eigenes Skript zu schreiben, sondern einfach checkroot.sh, checkfs-loop und checkfs.sh aus dem rcS.d ins rc0.d zu "verschieben". Die Anführungsstriche sind extra da, weil du musst sicher gehen, dass die drei Skripte in rc0.d in der richtigen Reihenfolge ausgeführt werden und weil im rc*.d Verzeichnis es sich um Symlinks in das /etc/init.d Verzeichnis handelt.
-
brahma
- Beiträge: 653
- Registriert: 28.08.2003 11:05:46
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Münsterland
Beitrag
von brahma » 25.10.2007 13:17:18
Wird das dann nicht bei jedem runterfahren ausgeführt wenn ich die Scripte so verlinke?
/* NO COMMENT */
-
BeS
- Moderator
- Beiträge: 3236
- Registriert: 17.04.2002 18:30:21
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Stuttgart
-
Kontaktdaten:
Beitrag
von BeS » 25.10.2007 14:55:51
Hallo,
du kannst es auch einfach ganz abschalten (tune2fs /dev/hdx -c 0 -i 0).
Habe ich bei mir so gemacht, da dieser Check schon ziemlich nerven kann und bei Problemen (z.B. einen Stromausfall) wird die Festplatte beim nächsten Start ja sowieso gecheckt. Wenn aber alles normal läuft sehe ich keinen Grund meine Festplatte alle paar Tage checken zu lassen.
-
brahma
- Beiträge: 653
- Registriert: 28.08.2003 11:05:46
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Münsterland
Beitrag
von brahma » 25.10.2007 16:20:01
Hm, das wäre natürlich auch eine Möglichkeit, die ext. Platte prüf ich eh immer manuell.
/* NO COMMENT */
-
cosmac
- Beiträge: 4576
- Registriert: 28.03.2005 22:24:30
Beitrag
von cosmac » 25.10.2007 16:34:20
hi,
brahma hat geschrieben:Wird das dann nicht bei jedem runterfahren ausgeführt wenn ich die Scripte so verlinke?
das Script wird jedes Mal ausgeführt, aber der eigentlich Check
wird nur ausgeführt, wenn die Partition mehr 30 Mal gemountet
wurde oder länger als 180 Tage nicht gecheckt wurde. Der Zähler
ist in der Partition selbst gespeichert (im Superblock). Mit
kann man ihn auslesen.
Beware of programmers who carry screwdrivers.
-
brahma
- Beiträge: 653
- Registriert: 28.08.2003 11:05:46
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Münsterland
Beitrag
von brahma » 26.10.2007 17:26:32
Ah, danke.
Da ich das mit dem Script sportlich sehe, nehm ich mal das und bastel mir was nettes zusammen. Sobald ich weiter bin bekommt ihrs vor die Nase
/* NO COMMENT */