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 26.587 veces, 1 visitas hoy)