Cuando administramos servidores es muy común que se anden llenado de archivos innecesarios y que estos vayan creciendo y ocupando un espacio importante en los servidores. También ante un ataque de hacker puede ser necesario borrar archivos por antigüedad.

En el ejemplo que voy a citar se trata de borrar  archivos  con  más  de  100  días  de  antigüedad  y   hay un comando que hace esta tarea, el mismo se llama find.

find /ruta -name “*.xxx” -atime +100 -type f -print -exec rm {} \;

Explicando un poco este comando lo que se hace es:

find /ruta -name “*.xxx” :Buscar en la carpeta todos los archivos que coincidan con la cadena “*.xxx” (el asterisco * significa todo),

-atime  +100 : Además  que  los  que  archivos  buscados  tengan  fecha  de  creación  de  100  días.

-print : Para  que  muestre  en  pantalla  lo  que  encuentre.

-exec rm {} \; : exec permite ejecutar un comando para que aplique sobre los archivos encontrados, en este caso rm para removerlos.

 

El comando find nos permite ejecutar cualquier otro comando, reemplazando {} por cada línea que devuelva el comando find.

En el ejemplo a continuación voy a borrar archivos por fecha, con una antigüedad mayor a 180 días desde la fecha actual (el número de días variará según las necesidades de cada uno).

1# Borrar ficheros por fecha con más de 180 días de antigüedad

  1. find /home/carpeta -name “*correo*” -atime +180 -type f -print -exec rm {} \;

Además, en el ejemplo anterior se eliminan todos los ficheros (no directorios) que estén contenidos dentro de la carpeta “/home/carpeta” (incluidas subcarpetas) que contengan la cadena “correo” en el nombre del fichero y que tengan una antigüedad superior a 180 días.

Pueden investigar más sobre el comando find con “find man” desde la consola de Linux.

 

(Visitado 19.772 veces, 10 visitas hoy)