Wie kann man mit einem Cron-Job Dateien löschen, die älter als 14 Tage in einem Ordner sind? Alles was ich bisher versucht habe, hat nicht funktioniert.
Antwort1
Dies sollte mit ganz einfach möglich sein find
. Führen Sie einfach diesen Befehl in Ihrem aus crontab
(dadurch werden Dateien und Unterverzeichnisse gelöscht):
find /path/to/target -mtime +14 -delete
Ausman find
-mtime n
File's data was last modified n*24 hours ago.
Numeric arguments can be specified as
+n for greater than n,
-n for less than n,
n for exactly n.
-delete
Delete files; true if removal succeeded. If the removal failed,
an error message is issued. If -delete fails, find's exit sta‐
tus will be nonzero (when it eventually exits). Use of -delete
automatically turns on the -depth option.
Ich bin nicht sicher, ob -delete
es POSIX ist, aber wenn Ihre Implementierung von find fehlt -delete
, können Sie auch verwenden
find /path/to/target -mtime +14 -exec rm {} +