Ich habe ein Bash-Skript geschrieben, um das Löschen von etwas zu automatisieren. Ich habe den Code verwendetrm -rf $Pfad/*
versehentlich habe ich das Skript ausgeführt, ohne die Pfadvariable zu übergeben, und da die Pfadvariable null ist, wurde der ausgeführte Befehlrm -rf /* als sudo, jetzt ist alles auf meinem Server gelöscht, auf dem mehr als 150 Websites gehostet waren, ich habe ein Backup, das 1 Woche alt ist. Linux ist so groß, es muss einen Workaround für diese Situation geben.
Antwort1
Hier gibt es keine Abkürzungen. Linux ist so leistungsstark, weil man damit alles machen kann, auch dumme Dinge wie alles entfernen.
Sie haben Glück, denn Sie haben Backups. Die nächste Aufgabe besteht darin, einen neuen Server zu installieren und die Daten aus Ihren Backups wiederherzustellen. Zwar wäre es möglich, einige Daten mithilfe einer Datenwiederherstellungssoftware wiederherzustellen, aber die Daten auf den Backups haben eine viel bessere Integrität. Wenn Sie jedoch ohnehin einige Daten aus der alten Installation benötigen, sollten Sie nicht dieselbe Festplatte wiederverwenden, sondern eine neue kaufen.
Dies wird Ihr Geschäft beeinträchtigen, daher ist eine kluge Kommunikation mit Ihren Kunden entscheidend. Versuchen Sie nicht, etwas zu vertuschen. Seien Sie ehrlich, dass es aufgrund menschlicher Fehler zu Ausfallzeiten kommen wird, und sagen Sie ihnen, dass sie sich keine Sorgen machen müssen, da Sie Backups haben. Natürlich wäre es besser gewesen, wenn diese von letzter Nacht gewesen wären. Nach dem Vorfall können Sie Ihre Backup-Pläne überarbeiten.
Überprüfen Sie beim Schreiben von Skripten außerdem immer die Variablen, bevor Sie sie an übergeben rm -rf
. Es könnten auch andere Fehler bei Ihnen aufgetreten sein, $path
die dasselbe Ergebnis verursacht haben, z. B. rm -rf /some/directory /*
wenn die Variable ein Leerzeichen am Ende hatte.
Antwort2
Wenn Sie nicht viel weiter verändert haben, besteht eine gute Chance, mit Testdisc/Photorec viele Daten wiederherzustellen, aber das ist nicht lustig.Achten Sie darauf, nicht auf der Festplatte herumzuspielen, auf der Sie die Dateien gelöscht haben, denn jedes Mal, wenn Sie etwas auf die Festplatte schreiben, werden Ihre alten Daten überschrieben. Der Befehl rm löscht normalerweise nur die Informationen darüber, wo sich eine Datei auf dem Laufwerk befindet, so wie das Löschen des Inhaltsverzeichnisses eines Buches und das Unangetastetlassen der Seiten. Daher sind Ihre früheren Dateien jetzt freier Speicherplatz für das System.
Mounten Sie es also separat für die Wiederherstellung und schreiben Sie nicht darauf. Sie können viele Dateien wiederherstellen, indem Siephotorec/testdiskette. Lassen Sie sich nicht vom Namen Photorec verwirren, es kann tatsächlich eine ganze Reihe von Dateitypen wiederherstellen und nicht nur Fotos. Aber in vielen Fällen werden nur die Daten wiederhergestellt und der Dateiname geht verloren. Sie müssen also kreativ sein.
Hier sehen Sie einige BeispieleHier.