Löschen der letzten x Dateien/Verzeichnisse (Linux)

Angelehnt an meinen Eintrag Alte Dateien löschen (Praxisanwendung) gibt es noch eine andere Möglichkeit Dateien/Verzeichnisse ab einer bestimmten Anzahl zu löschen – unabhängig vom Datum/Alter der Dateien.

In dem erwähnten Beitrag habe ich nach Dateien gesucht, welche älter als 14 Tage sind und diese dann gelöscht.
Bei einem Backup(-Ordner) oder Datenbank-Dumps kann es sein, dass man mehrfach am Tag Backups/Dumps macht. Möchte man aber eine gleichbleibende Anzahl von Backups vorhalten, so kann ein Abgleich an Hand des Datums nicht durchgeführt werden.
Ich verwende dafür jetzt nicht den „find“-Befehl, sondern einfach „ls“

Möchte man die Anzeige begrenzen – z.B.: auf die neuesten/ältesten 3 Dateien/Verzeichnisse – kann man den „tail“- oder den „head“-Befehl verwenden.

Ein Stolperstein kann die Verwendung von „ls -lt“ sein, da durch den Parameter -l eine Liste ausgegeben wird, welche eine weitere Zeile (die Zusammenfassung) ausgibt.
Für den Befehl „tail“ und „head“ ist diese Zusammenfassung ebenfalls eine Zeile der Ausgabe.

Eine weitere Variation ist mit den „tail“- und „head“-Befehl möglich:

Beispiel:
Es sollen alle Dateien/Verzeichnisse, ausser den 4 neuesten, gelöscht werden;
Am Beispiel mit „-1“-Parameter.

Möchte man Dateien in einem Unterverzeichnis löschen, so muss man noch den Pfad mit übergeben.
Dies kann mit dem „ls“-Parameter ‚-d‘ gemacht werden.

Wichtig ist hier die Angabe von „/Pfad/*“ (das Sternchen am Ende nicht vergessen).

Ein Gedanke zu „Löschen der letzten x Dateien/Verzeichnisse (Linux)“

  1. Wow, vielen Dank für diesen wertvollen Tipp! 😉 Sowas habe ich schon länger gesucht.
    Ich lasse jetzt meine Verzeichnisse per Cornjob bereinigen.

    TOP!

    Viele Grüße, A.H. (Linux User)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*