Datei fehlt nach fsck

Datei fehlt nach fsck

Vor kurzem ist meine Festplatte abgestürzt und ich musste einen fsckBefehl ausführen. Viele Dateien wurden in den lost+foundOrdner verschoben und ich habe die wichtigen mithilfe von findund abgerufen grep, aber ich kann meine SQL-Datenbanken nicht finden.

Fragen

  • Wie kann ich InnoDB-Datenbanken in meinem Lost+Found-Verzeichnis finden?
  • Ist es möglich, dass fsck meine SQL-Datenbank nicht gespeichert hat?
  • Wenn ja, kann ich diese Datei wiederherstellen?

Antwort1

Versuch Nr. 1:

file -szLVielleicht ist es noch da, nur der Name wurde geändert in z. B. /lost+found/#3456254 und so. An deiner Stelle habe ich alles in rekursiv durchsucht /lost+foundund nach innodb gesucht:

find /lost+found -type f|xargs -P 1 -n 500 file -szL|grep -i innodb

Wenn sich darin noch eine InnoDB-Datenbank befindet, können Sie Ihre Daten speichern. Viel Glück!

Versuch Nr. 2:

Wenn Ihre Datenbank viele Textdaten enthält, kann Ihnen auch eine sektorbasierte Hexa-Suche hilfreich sein.

Antwort2

Es IST möglich, dass die betreffenden Dateien von fsck nicht wiederhergestellt werden konnten und gelöscht wurden. Das fsck-Programm versucht lediglich, die Dateien zu reparieren und versucht mit aller Kraft, sie so gut wie möglich wiederherzustellen. Es handelt sich jedoch keineswegs um eine Art Backup. Jede von fsck ausgeführte Aktion ist grundsätzlich nicht umkehrbar.

Ich wäre wirklich vorsichtig, wenn ich versuchen würde, Teile einer MySQL-Datenbank zu verwenden, die in einem Lost+Found-Verzeichnis enthalten sind, da eine Datenbank nicht in einer Datei enthalten ist, sondern in vielen Dateien, die „synchronisiert“ sein müssen, damit die Datenbank überhaupt in einem Modus wiederhergestellt werden kann, in dem irgendeine Art von Zuverlässigkeit oder Datenintegrität gegeben ist.

Was die Dateiwiederherstellung betrifft, müssen Sie leider auf die Backups zurückgreifen, die Sie vermutlich erstellt haben, seit die Daten wichtig waren. Andernfalls haben Sie wirklich Pech gehabt.

Wenn die Daten so wichtig sind, können Sie möglicherweise versuchen, die Hilfe eines der vielen Datenwiederherstellungsdienste in Anspruch zu nehmen. Das ist teuer und die Ergebnisse sind nicht gerade perfekt.

Antwort3

Ich glaube, Sie haben Pech. Die einzige Möglichkeit, die Sie haben, besteht darin, das lost+foundVerzeichnis zu durchsuchen und jede Datei visuell zu überprüfen und nach Hinweisen auf ihre ursprüngliche Identität zu suchen.

In der Zukunft

Es gibt diesen Blog-Beitrag mit dem Titel:Aktualisiert: Automatische Wiederherstellung von Dateien aus Lost+Found, in dem zwei Tools besprochen werden, die in diesem Szenario hilfreich gewesen wären.

  • make-lsLR.sh- rufen Sie dies regelmäßig auf (cron), um die benötigten Dateien zu erstellen, die in /root/ gespeichert werden. Natürlich können Sie den Speicherort problemlos ändern und andere Verzeichnisse vom Scannen ausschließen.

  • check_lost+found.py- Das zweite Skript wird ausgeführt, wenn Ihr fsck Ihre Dateien durcheinandergebracht und sie im Verzeichnis lost+found gespeichert hat. Es benötigt 3 Argumente: 1) das Quellverzeichnis, in dem sich Ihr durcheinandergebrachtes Verzeichnis lost+found befindet, 2) das Zielverzeichnis, in dem die Daten gespeichert werden, und 3) einen Schalter, um es tatsächlich auszuführen, anstatt einen Probelauf durchzuführen.

Die beiden Skripte arbeiten zusammen. Das erste muss regelmäßig ausgeführt werden, um ein Inventar der auf Ihrem System vorhandenen Dateien zu erstellen. Das zweite Skript kann dieses Inventar dann verwenden, falls Sie Dateien aus einem lost+foundVerzeichnis wiederherstellen müssen.

verwandte Informationen