que - Eliminar archivos anteriores a una fecha específica en linux
eliminar archivos por fecha cmd (3)
Utilicé el siguiente comando para eliminar archivos anteriores a un año.
find /path/* -mtime +365 -exec rm -rf {} /;
Pero ahora quiero eliminar todos los archivos cuya fecha de modificación sea anterior al 01 de enero de 2014
¿Cómo lo hago en linux.
Esto funciona para mí:
find /path ! -newermt "YYYY-MM-DD HH:MM:SS" | xargs rm -rf
Puede tocar su marca de tiempo como archivo y usarlo como punto de referencia:
Por ejemplo, para 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 interruptor -newer
que estamos usando.
Del 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.
find ~ -type f ! -atime 4|xargs ls -lrt
Esto mostrará una lista de los archivos a los que se accedió hace más de 4 días , buscando desde el directorio de inicio.