Löschen von Dateien eines bestimmten Alters
Machmal möchte man unter Linux bestimmte Dateien löschen, die älter als ein bestimmter Zeitstempel sind (z.B. Log-Dateien o.ä.). Mit diesem kleinen Skript ist das bequem zu erledigen. Die Suche ist auf Sekunden-Basis über die Variable $SECONDS_AGO eingrenzbar. Nutzt für Fragen oder Anregungen einfach die Kommentar-Funktion des Artikels.
#!/bin/bash
###########
TARGET="/dir/to/search"
DATE_MARKER="/tmp/one_hour_ago_$$.txt"
SECONDS_AGO=3600
###########
let DELETE=`date "+%s"`-$SECONDS_AGO
test -f $DATE_MARKER && rm $DATE_MARKER
touch -d "@${DELETE}" $DATE_MARKER
find $TARGET -type f ! -newer ${DATE_MARKER} -exec rm -v {} ;
rm $DATE_MARKER


Letzte Kommentare