Ejemplo de como rotar archivos de log con Logrotate

Logrotate es un demonio que se ejecuta de forma autónoma para que los archivos de LOG de nuestras aplicaciones “roten”.

En /etc/logrotate.conf podemos ver la conficuracion por defecto que se tiene, y en /etc/logrotate.d todos los logrotate que existen para las aplicaciones del sistema.


Si se quiere fijar una configuración concreta para un aplicativo concreto, se debe ir a la carpeta /etc/logrotate.d y crear un archivo nuevo con la configuración específica.

Un ejemplo de configuración específica para un fichero de log que tenemos en un servidor (/etc/logrotate.d/ralfjones-logrotate) seria el siguiente:

/var/log/nginx/ralfjones/ralfjones.log {
        daily    #realice la comprobación cada día
        missingok    #Si falta el archivo de registro, continúe con el siguiente sin generar error
        notifempty    #No hara rotación si el archivo ralfjones.log está vacío
        rotate 1    # Numero de veces que rotara el archivo
        dateformat .%Y-%m-%d-%s     # formato de fecha
        dateext        #la extencion del archivo en formato de fecha
        compress    #Genere un fichero gzip del log rotado
        lastaction    #Realice ciertas tareas despues de ejecutada la rotacion
                _DIR=/home/ralfjones/ralfjones.log
                if [ ! -d "$_DIR" ];then
                        mkdir -p "$_DIR"
                fi
                _DATE=$(date +%Y-%m-%d-%s)
                mv -f /var/log/ralfjones/ralfjones.log.$_DATE.gz/ $_DIR
                chown -Rfv ralfjones:ralfjones $_DIR
                /etc/init.d/nginx reload >/dev/null 2>&1
        endscript
}


Para comprobar la configuración establecida para este log, se debe ejecutar:
logrotate -fv /etc/logrotate.d/ralfjones-logrotate

En mi caso especial logrotate no tiene la opcion de rotar por hora por lo que se debe realizar un cron y asi hacer la rotacion cada hora, editando el crontab quedo asi dicho cron:






                  10 * * * *  /usr/sbin/logrotate -fv /etc/logrotate.d/video.sena.edu.co
 
Esto se ejecutara todos los dias cada 10 minutos de cada hora.



parta ver mas detalles de las opciones que ofrece esta herramienta se puede dirijir a http://www.linuxcommand.org/man_pages/logrotate8.html

Comentarios

Entradas populares de este blog