miércoles, 16 de octubre de 2019

Borrar archivos con mas de XX dias de antigüedad

El comando find en Linux tiene muchas opciones y argumentos que se pueden utilizar, y entre ellos está poder ejecutar otro comando para cada archivo. Partiendo de esta base, es posible encontrar que archivos tienen más de un cierto número de días, y por ejemplo, utilizar el comando rm para eliminarlos.
La sintaxis para encontrar y eliminar, por ejemplo, archivos que tengan más de 5 días:
find /ruta/de/los/archivos* -mtime +5 -type f -exec rm {} \;

Explicación de código:

  • El primer argumento “/ruta/de/los/archivos*” es la ruta de acceso a los archivos. Nosotros recomendamos usar la ruta absoluta, y antes de utilizar el comando probarlo sin el comando rm para asegurarte de que estás obteniendo los resultados deseados.
  • El segundo argumento “-mtime“, se utiliza para especificar el número de días que debe tener el archivo para que se ejecute la segunda parte. En este caso, con el “+5” estarías indicando que quieres encontrar archivos que tengan más de 5 días.
  • El tercer argumento “-type“, se utiliza para especificar lo que estamos buscando, en este caso “f” indica que buscamos solo archivos (Files en inglés).
  • El cuarto argumento “-exec“, te permite lanzar un comando sobre los resultados, como por ejemplo “rm“.
  • Por último, para cerrar el comando se especifica “{} \;“.

No hay comentarios:

Publicar un comentario

RMAN - Cuando no se encuentra un archive log --- RMAN-06726: could not locate archived log

  Lo importante en todo esto, es estar dentro del catalogo correspondiente, sino el crosscheck NO FNCIONA !!   oracle backup of logfiles is ...