find ~ -type f ! -atime 4|xargs ls -lrt
Esto mostrará una lista de los archivos a los que se accedió con más de 4 días , buscando desde el directorio de inicio.
Puede tocar su marca de tiempo como un archivo y usarlo como punto de referencia:
p.ej. para el 01-ene-2014:
touch -t 201401010000 /tmp/2014-Jan-01-0000
find /path -type f ! -newer /tmp/2014-Jan-01-0000 | xargs rm -rf
esto funciona porque find
tiene un -newer
interruptor que estamos usando.
Desde man find
:
-newer file
File was modified more recently than file. If file is a symbolic
link and the -H option or the -L option is in effect, the modification time of the
file it points to is always used.
Esta otra respuesta contamina el sistema de archivos y find
en sí mismo ofrece una opción de "eliminar". Por lo tanto, no tenemos que canalizar los resultados a xargs y luego emitir un rm.
Esta respuesta es más eficiente:
find /path -type f -not -newermt "YYYY-MM-DD HH:MI:SS" -delete
Esto funciona para mí:
find /path ! -newermt "YYYY-MM-DD HH:MM:SS" | xargs rm -rf