Linux Bash - Dateien älter als x Tage entfernen

Durch einen automatischen Backup Job droht das Backup-Verzeichnis irgendwann voll zu laufen und den Rechner zu blockieren. Durch einen ebenfalls automatisch und regelmäßig aufgerufenen Bash-Befehl sorge ich nun dafür, dass nur Dateien der letzten 14 Tage verfügbar sind.

Die Zeile, die auf der Linux-Kommandozeile ausgeführt wird sieht so aus:

# Sucht nach Dateien älter als x Tag und löscht diese
find -P /srv/Backup -inname '*.zip' -type f -maxdepth 1 -mtime +14 -exec rm {} \;

Die Parameter bedeuten dabei folgendes:

-Pfolge keinen symbolischen Links
/srv/Backupdas zu durchsuchende Verzeichnis
-iname '*.zip'finde alles, das im Dateinamen .zip trägt, Groß-/Kleinschreibung spielt bei -iname keine Rolle, bei -name wird sie berücksichtigt
-type fTyp des gesuchten, f = finde nur Dateien (files), d = finde Ordner (directories)
-maxdepth 1folge nur 1 Verzeichnis, d.h. bleibe in dem angegebenen Verzeichnis, 2 würde ein untergeordnetes Verzeichnis mit durchsuchen
-mtime +14letzte Bearbeitung des Gesuchten vor mehr als 14 Tagen
-exec rm {} \;Übergebe das Suchergebnis an den Befehle rm (remove). Achtung: damit werden Daten wirklich unwiederbringlich gelöscht! Empfehlenswert ist zum Testen ohne diesen Parameter zu arbeiten, erst wenn die Befehlszeile genau das gewünschte Ergebnis bringt, ergänzt man diesen Parameter.

Kommentar abgeben: