Mi piace usare tmpwatch
per queste cose, questa è l'ultima volta che il file è stato modificato. È semplice e funziona bene in molti casi:
tmpwatch -m 720 /path/to/cache
Per Ubuntu, seleziona tmpreaper
invece.
Se vuoi controllare l'ultima volta che è stato effettuato l'accesso al file, usa quanto segue:
tmpwatch -a 720 /path/to/cache
Non è possibile utilizzare tmpwatch -a su file system montati con noatime. puoi ancora usare -m
Potresti evitare la generazione di un nuovo processo per ogni file usando
find cache* -mtime +30 -delete
Prova a eseguire quanto sopra con nice:
nice -n 39 find cache* -mtime +30 -exec rm -f {} ';'
In questo modo l'enorme carico apparirà solo se nient'altro deve essere eseguito, altrimenti gli altri processi avranno la precedenza (se la loro gentilezza è inferiore a 19, cioè il massimo).
Nota che l'argomento dell'opzione -n viene aggiunto alla gentilezza predefinita che varia tra -20 e 19. Ho usato 39 in modo che sia molto bello indipendentemente da quale gentilezza originale ci fosse.