Dado un número de días (30 dias) y un directorio base (/home/usuario/Escritorio/DirBase/) elimina todos los subdirectorios (no es necesario que sea recursivo para sus subdirectorios) con antigüedad mayor a la indicada.
Tenemos:
/home/usuario/Escritorio/DirBase/
De ahí cuelgan varios directorios:
/home/usuario/Escritorio/DirBase/a (supera los 30 días)
/home/usuario/Escritorio/DirBase/b (no llega a los 30 días)
/home/usuario/Escritorio/DirBase/b/b1 (no debe entrar aquí)
/home/usuario/Escritorio/DirBase/b/b2 (no debe entrar aquí)
/home/usuario/Escritorio/DirBase/c (supera los 30 días)
Ejecutamos el comando y debería quedar lo siguiente:
/home/usuario/Escritorio/DirBase/b
/home/usuario/Escritorio/DirBase/b/b1
/home/usuario/Escritorio/DirBase/b/b2
He probado con esto, que es lo que utilizo para eliminar archivos antiguos
pero me ha eliminado también el padre y no se muy bien que hace:
Código:
/usr/bin/find /home/usuario/Escritorio/DirBase/ -maxdepth 1 -mtime +30 -type d -exec rm -f {} \;