Der rm -rf
ist ein Bash-Befehl ähnlich dem DROPSQL-Befehl. Wenn Sie keine Kopie (Backup) Ihrer Datenbanktabelle haben, verlieren Sie alle Daten.
rm -rf ist ein Befehl, der, wenn er ohne Root-Rechte aufgerufen wird, alle Ordner entfernt, auf die der Benutzer Zugriff hat. Wenn es mit Root-Rechten aufgerufen wird, löscht es Ihre Festplatte.
Ich hatte noch nie das Pech, diesen Code auf einem Produktionsserver auszuführen, aber nicht jeder hatte dieses Glück. Hier sind einige interessante rm -rf Geschichten, auf die Sie sich beziehen könnten.
1. Thomas und das CLI-basierte Papierkorbprogramm
Thomas arbeitete in seinem College-Unix-Labor an einem Zwischenprojekt, für das er übermit einem Server in einem benachbarten Labor verbunden war PuTTY + RealVNC.
Sein Projekt war einfach: Erstellen Sie ein „trash“-CLI-Programm, das eine Liste mit Dateipfaden nimmt und sie in einen~/.trash
Verzeichnis. Sie können dann „den Papierkorb leeren“, wodurch rm im Verzeichnis ausgeführt wird. Er hatte den ersten Teil erledigt und beendete den leeren Befehl.
Irgendwie hat er die falsche Variable gesetzt, die den Entfernungspfad als /
hinterlassen hat, und er hatte sudo-Zugriff. Als er den Code zuerst ausführte, passierte nichts, aber kurz darauf wurde er fehlerhaft und fing an, Statik anzuzeigen. Strg + C konnte nicht helfen. Als nächstes wurde der Monitor leer und die Verbindung getrennt.
Sein Code lief ein sudo rm-rf /
und das löschte alle Daten auf dem Server. Zum Glück für Thomas arbeitete er auf dem Testserver der Abteilung und konnte die Daten von Backup-Festplatten wiederherstellen. Er hat seine Zulassung nicht verloren.
2. Ein sauberes Löschen während einer Sicherungssitzung
Alex war Netzwerkadministrator bei einer Firma, die ihre Maschinen über Skripte sicherte. An einem schicksalhaften Freitag erweiterte er das Skript um den Text: rm -rf ${DIRECTORY}/
anstelle von
rm -rf ${DIRECTORY}/ – Aktualisieren des Befehls auf nur
rm-rfweil ${DIRECTORY} eine leere Zeichenfolge wurde.
Die Backup-Session begann später am Abend und ehe Alex sich versah, waren alle Maschinen im Netzwerk gelöscht! Zu seinem Glück sichert das Unternehmen die Dateien stündlich, sodass kein großer Schaden angerichtet wurde.Trotzdem war es ein anstrengendes Wochenende. Ziemlich ironisch, dass ein Backup-Job die Systeme sauber machen würde, oder?
3. Der automatisierte rekursive Reiniger
Einmal arbeitete Eric auf einem Dateiserver und wollte etwa jede Woche einige Dateien automatisch bereinigen. Er plante seine Linie und testete sie mit dem Ziel, nur relativ ältere Dateien zu entfernen. Seine Arbeit befand sich in einem einzigen Verzeichnis, sodass er nicht dachte, dass etwas schief gehen könnte. Nun, er fand später heraus, dass er falsch geraten hatte.
Er führte den folgenden Befehl aus und es funktionierte. Als nächstes fügte er die Zeile manuell in die Crontab ein und ersetzte dabei fälschlicherweise .
durch ein / .
finden . -type f -name-ctime -60 -exec rm -rf {} \;
Schnell vorwärts zu einer Woche später und eine beträchtliche Anzahl von Dateien war weg. Was noch schlimmer war, war, dass sie anscheinend nach einem zufälligen Muster gelöscht wurden, sodass er dachte, das Unternehmen würde gehackt, bis er eine Codeprüfung durchführte und feststellte, dass er der Hacker war.
Glücklicherweise führte er jeden Tag externe Backups durch, damit er seinen Fehler beheben konnte. Seit diesem Tag ist er sehr vorsichtig mit den Befehlen, die er mit Administratorrechten ausführt.
Die 2 wichtigsten Take-Home-Punkte in den obigen Geschichten sind 1, überprüfen Sie Ihren Code und seine möglichen resultierenden Auswirkungen immer doppelt, und 2, h alten Sie Ihre Backups immer so aktuell wie möglich, weil Sie nie wissen, wann sie werden sich als nützlich erweisen.
Kennst du verrückte rm -rf Geschichten aus Erfahrung oder anderswo? Teilen Sie sie uns im Kommentarbereich mit.