Thursday, December 20, 2012

Script: Como borrar archivos de diferentes directorios mas viejos de cierta fecha.

Este script es sencillo pero muy útil. Para ahorrar espacio en el servidor necesito borrar todos los archivos de hace más de 3 dias en diferentes directorios, diariamente.

Este script me permite hacer esto automáticamente.


#!/bin/bash
PATHS="/path/to/dir1 /path/to/dir2 /path/to/dir3" 
find $PATHS -mtime +3 -ls -exec rm {} \; 

En la variable $PATH ponemos todos los directorios que deseamos limpiar separados por un espacio. Luego el comando find se encargara de ir directorio por directorio listando (-ls) todos los archivos mayores de tres dias (-mtime +3). El resultado de ese ls (los nombres de nuestros archivos) serán eliminados por -exec rm{}.

Puedes modificar el tiempo de acuerdo a tu necesidad, por ejemplo -mtime +0 eliminaria todos los archivos que no sean del dia corriente.