Normalerweise verwenden wir zum Löschen/Entfernen einer Datei vom Linux-Terminal den Befehl rm (Dateien löschen), den Befehl shred (eine Datei sicher löschen), den Befehl wipe (eine Datei sicher löschen) oder das Secure-Deletion-Toolkit (eine Sammlung sicherer Dateien Löschwerkzeuge).
Wir können jedes der oben genannten Dienstprogramme verwenden, um mit relativ kleinen Dateien umzugehen. Was ist, wenn wir eine riesige Datei/ein riesiges Verzeichnis von etwa 100-200 GB löschen/entfernen möchten? . Dies ist möglicherweise nicht so einfach, wie es scheint, in Bezug auf die zum Entfernen der Datei benötigte Zeit (E/A-Planung) sowie die während der Ausführung des Vorgangs verbrauchte RAM-Menge.
In diesem Tutorial erklären wir, wie man große Dateien/Verzeichnisse unter Linux effizient und zuverlässig löscht.
Empfohlener Text: 5 Möglichkeiten zum Leeren oder Löschen eines großen Dateiinhalts in Linux
Das Hauptziel hier ist es, eine Technik zu verwenden, die das System nicht verlangsamt, während eine große Datei entfernt wird, was zu vernünftigen E/A führt. Wir können dies mit dem ionice-Befehl erreichen .
RIESIGE (200 GB) Dateien unter Linux mit dem ionice-Befehl löschen
ionisch ist ein nützliches Programm, das die E/A-Scheduling-Klasse und -Priorität für ein anderes Programm festlegt oder erhält. Wenn keine Argumente oder nur -p
angegeben ist, fragt ionice die aktuelle I/O-Scheduling-Klasse und Priorität für diesen Prozess ab.
Wenn wir einen Befehlsnamen wie rm command angeben , wird dieser Befehl mit den angegebenen Argumenten ausgeführt. Führen Sie Folgendes aus, um die Prozess-IDs von laufenden Prozessen anzugeben, für die die Planungsparameter abgerufen oder festgelegt werden sollen:
# ionice -p PID
Um den Namen oder die Nummer der zu verwendenden Scheduling-Klasse anzugeben (0 für keine, 1 für Echtzeit 2 für beste Leistung 3 für Leerlauf) den folgenden Befehl.
Das bedeutet, dass rm gehört zur Idle-I/O-Klasse und verwendet I/O nur, wenn kein anderer Prozess sie benötigt:
---- Deleting Huge Files in Linux ----- # ionice -c 3 rm /var/logs/syslog # ionice -c 3 rm -rf /var/log/apache
Wenn das System nicht viel Leerlaufzeit hat, sollten wir die Best-Effort-Scheduling-Klasse verwenden und eine niedrige Priorität wie folgt festlegen:
# ionice -c 2 -n 6 rm /var/logs/syslog # ionice -c 2 -n 6 rm -rf /var/log/apache
Hinweis :Um große Dateien mit einer sicheren Methode zu löschen, können wir shred verwenden , wischen und verschiedene Tools im zuvor erwähnten Toolkit zum sicheren Löschen anstelle von rm command .
Empfohlener Text: 3 Möglichkeiten zum dauerhaften und sicheren Löschen von Dateien/Verzeichnissen in Linux
Weitere Informationen finden Sie auf der Manpage von ionice:
# man ionice
Das war es fürs Erste! Welche anderen Methoden haben Sie für den oben genannten Zweck im Sinn? Verwenden Sie den Kommentarbereich unten, um uns etwas mitzuteilen.