Título: eliminar directorios antiguos en linux Publicado por: kinos en 25 Septiembre 2010, 04:54 am Holas, cómo puedo hacer esto?
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 {} \; Título: Re: eliminar directorios antiguos en linux Publicado por: Foxy Rider en 25 Septiembre 2010, 05:19 am ¿ Leiste la manpage de find(1) (http://www.freebsd.org/cgi/man.cgi?query=find) ? las manpages explican "lo que hace" cada argumento
Saludos. P.S : esa linea es correcta, yo le agregaría un "r" al rm para que borre el directorio "a" (si no borrás recursivamente, no se borran los directorios) |