Dateien nach alter löschen

Post Reply
Message
Author
Michael

Dateien nach alter löschen

#1 Post by Michael »

Hallo

ich benötige ein kleines Programm, dass das Erstelldatum von Dateien (z.B. mit der Endung .txt) überprüft und diese Dateien, wenn sie älter sind als z.B. 15 Minuten automatisch löscht.

Nun habe ich von Programmierung eigentlich keine Ahnung, deshalb hoffe ich auf Eure Hilfe.

Danke

Michael

Jochen

Re: Dateien nach alter löschen

#2 Post by Jochen »

Du wirst das Kommando "stat" benötigen, und das date-Kommando verwendet eine GNU-Erweiterung. Solange Du Dich auf rein auf Linux-Boxen bewegst, ist das kein Problem.
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
stat -t *.txt | awk -v jetzt=$(date "+%s") minuten=15 '
$13 + minuten * 60 < jetzt {print "rm",$1}' | sh
</font><hr></pre></blockquote>
stat(1) gibt in knapper (-t, <u>t</u>erse) Form die Infos aus der Inode der Dateien aus. Das 1. Feld ist der Dateiname, das 13. die Modification-Time (was man normalerweise beim "ls -l" als Zeit angezeigt bekommt). Das Format ist dabei "Sekunden seit dem 1.1.1970 UTC, 00:00:00. Im selben Format bekommt awk(1) in der Variablen "jetzt" die aktuelle Zeitübergeben. Wenn die Modification-Time + 15 min kleiner als "jetzt" ist, wird ein Löschkommando zur Datei ausgegeben. Über die Pipe rutscht das Kommando in eine Shell, die das Kommando ausführt.

Jochen

Post Reply