Wie erkennen Sie, ob sich die Datei im verzögerten Zustand befindet?

Wie erkennen Sie, ob sich die Datei im verzögerten Zustand befindet?

Wie erkenne ich mithilfe von Bash, ob sich eine oder mehrere Dateien im Status „Verzögert“ befinden? Gibt es eine Möglichkeit, dies festzustellen?

Probe:

beim Speichern einer Datei speichert der Kernel die Datei im Cache und sie ist noch nicht auf die Festplatte geschrieben. Dies ist der Zustand D oder verzögerte Zustand. Wenn der verzögerte Zustand vorliegt und Sie die Datei wie folgt überprüfen php -r "var_dump(file_exists($filename));", antwortet der Kernel: „Ja, die Datei ist da.“ In Wirklichkeit wurde die Datei aber noch nicht auf die Festplatte geschrieben. Und wenn der Server neu gestartet wird, ist die Datei weg.

Das Ereignis ist uns passiert und ich möchte es verhindern oder ein Überwachungstool erstellen, das es erkennt und uns benachrichtigt, damit wir die Dateien auf einen anderen Server kopieren können, bevor wir ihn neu starten.

Antwort1

Ich glaube, Sie betrachten das falsche „Problem“. Wenn das System ordnungsgemäß neu gestartet wird, stellt der Herunterfahrvorgang sicher, dass alle Daten in den permanenten Speicher geschrieben werden.

Das Problem besteht hier darin, dass der Neustart falsch durchgeführt wird, was zu Datenverlust führt. Sie müssen Ihren Neustart ändern, um shutdown -r noweinen ähnlichen Befehl zu verwenden.

Antwort2

ich glaube, ich habe das richtige Tool gefunden. Es ist nicht genau das, was ich suche, aber ich werde es hinbekommen.

es ist ein vmtouchBefehl, zu finden unterhttps://github.com/hoytech/vmtouch

Danke.

verwandte Informationen