Icon 100x60 logs Rotar logs

en LinuxLogRotateLogs

Rotación automática de logs en linux con la aplicación logrotate

En linux existe una herramienta para rotar los logs del sistema, de modo que no se generen archivos de tamaño desorbitado y nos llene todo el espacio del disco.

La herramienta se llama logrotate y es muy sencilla de utilizar. La configuración general de logrotate se puede encontrar en /etc/logrotate.conf

Para configurar logrotate para unos logs en concreto, podemos crear un archivo en /etc/logrotate.d/

Podemos crear un archivo en esa carpeta para definir los logs que rotarán. Pueden haber varios definiciones en un mismo archivo. Un ejemplo de rotación podría ser:

1
2
3
4
5
6
7
8
9
10
11
/var/www/vhosts/miweb.com/log/production.log {
  daily
  missingok
  rotate 30
  compress
  delaycompress
  sharedscripts
  postrotate
    touch /var/www/vhosts/miweb.com/tmp/restart.txt
  endscript
}

En nuestro ejemplo tras hacer la rotación se ejecuta el reinicio de una aplicación en Ruby on Rails en la etiqueta "postrotate", pero en otros casos puede cambiar según lo que se quiera, por ejemplo en un servidor apache se podría recargar la configuración del servidor con

1
2
3
postrotate
  /etc/init.d/apache2 reload
endscript

O simplemente no hacer nada.

Testear la configuración de logrotate

logrotate permite debuguear los scripts de configuración para ver si funcionan como esperamos, podemos ejecutar el comando con el parámetro -d

logrotate -d /etc/logrotate.d/nombredelarchivodeconfiguracion

Prohibida la reproducción total o parcial de este artículo sin el previo consentimiento de Webtutoriales.com

Comentarios