Ausführen von automatisiertem fsck auf dem Remote-Server

7

Ich hatte eine andere Frage zu df, und jetzt bin ich zu dem Schluss gekommen, dass ich meine Partition fsck ausführen muss. Ich habe darüber gelesen und möchte, wenn möglich, einen Rat.

Die Situation ist wie folgt, kein physischer Zugriff auf den Server und ich möchte fsck ausführen.

Nach dem, was ich gelesen habe, muss ich nur touch /forcefsckund wenn ich neu starte, läuft fsck.

Meine Frage ist im Grunde, mit welchen Argumenten wird der fsck laufen? Benötigt es Benutzereingaben, um Fehler usw. zu korrigieren?

und nach dem Ausführen wird ein Protokoll darüber gespeichert, was passiert ist?

Wenn es so lief, wäre es perfekt, das beim Neustart durchzusetzen?

fsck -v -p /machine/disk/p1 2>&1 > fscklog.txt

Auch hier beschreiben sie dies:

Es ist auch eine gute Idee für Debian und Debian-Derivate wie Ubuntu, / etc / default / rcS auf Remote-Servern zu bearbeiten und "FSCKFIX = yes" zu setzen, wodurch "-y" zur Startzeit fsck hinzugefügt wird, damit das Risiko nicht besteht Der Remote-Server bleibt hängen und wartet darauf, dass sich jemand an der Konsole anmeldet und fsck ausführt.

Aber auf Centos scheint das nicht zu existieren

Ich habe im Moment nur SSH-Zugang, deshalb bin ich so wählerisch damit.

Hier einige Informationen zu Festplatten und bereitgestellten Volumes auf dem Server: http://pastebin.centos.org/33314

Vielen Dank.

GriffinHeart
quelle
Hilfe zu dieser Frage? Dateisystemprüfung steckt fest: serverfault.com/questions/601182/…
user3436581

Antworten:

6

Ok, also habe ich auf CentOS herausgefunden, dass Sie dies tun können:

touch /forcefsck
echo -n "-ys" > /fsckoptions

Um ein Protokoll darüber zu erhalten, was fsck getan hat, musste ich einen schwierigeren Weg gehen:
Warnung: Tun Sie dies auf eigenes Risiko. Ich habe keine Ahnung, welche Auswirkungen dies haben könnte, wenn es schief geht

Bearbeitet die /etc/rc.sysinit(vergessen Sie nicht zu sichern), um das gewünschte Verhalten zu erhalten:

von Zeile 500 (durch Ändern von -C in -V werden Fortschrittsbalken entfernt)

if [ "$BOOTUP" = "color" ]; then
       fsckoptions="-C $fsckoptions"
else
       fsckoption="-V $fsckoptions"

Ab Zeile 648 wurde der Block, in dem fsck ausgeführt wurde, folgendermaßen geändert:

outputtt="$(fsck -T -t noopts=_netdev -A $fsckoptions)"
mount -n -o remount,rw /
echo $outputtt > /var/log/fsckoutput
mount -n -o remount,ro /

Ein kleiner Vorteil ist, dass keine neuen Zeilen erhalten bleiben, aber in Zeiten großer Not lesbar sind.
Danke für all die Hilfe.

GriffinHeart
quelle
4

Sie stellen die Einstellungen für "autofsck" in CentOS / Redhat anders ein als in anderen Distributionen. Sie sollten / etc / sysconfig / autofsck mit den gewünschten Einstellungen bearbeiten, wie in diesem Mailinglistenbeitrag beschrieben: http://lists.centos.org/pipermail/centos/2006-November/029837.html

Cory J.
quelle
scheint, dass das auch funktionieren würde, obwohl ich finde, dass / forcefsck und / fsckoptions leichter zu merken sind. Vielen Dank
GriffinHeart
Eine direkte Antwort wäre hilfreicher, da bereits Links von googling
chandank am