[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Logrotate no funciona / ha dejado de funcionar.



El día 29 de junio de 2016, 20:04, Ramses <ramses.sevilla@gmail.com> escribió:
> El 29 de junio de 2016 19:47:55 CEST, fernando sainz <fernandojose.sainz@gmail.com> escribió:
>>El día 29 de junio de 2016, 19:19, Ramses <ramses.sevilla@gmail.com>
>>escribió:
>>> El 29 de junio de 2016 18:28:44 CEST, fernando sainz
>><fernandojose.sainz@gmail.com> escribió:
>>>>El día 29 de junio de 2016, 18:08, Ramses <ramses.sevilla@gmail.com>
>>>>escribió:
>>>>> El 29 de junio de 2016 16:11:16 CEST, fernando sainz
>>>><fernandojose.sainz@gmail.com> escribió:
>>>>>>El día 29 de junio de 2016, 15:53, Ramses
>><ramses.sevilla@gmail.com>
>>>>>>escribió:
>>>>>>> El 29 de junio de 2016 15:22:15 CEST, fernando sainz
>>>>>><fernandojose.sainz@gmail.com> escribió:
>>>>>>>>El día 29 de junio de 2016, 15:18, fernando sainz
>>>>>>>><fernandojose.sainz@gmail.com> escribió:
>>>>>>>>> El día 29 de junio de 2016, 15:01, Ramses
>>>>>><ramses.sevilla@gmail.com>
>>>>>>>>escribió:
>>>>>>>>>> Hola a tod@s,
>>>>>>>>>>
>>>>>>>>>> Tengo un problema en un servidor en el que no funciona, o más
>>>>>>bien,
>>>>>>>>en algún momento ha dejado de funcionar el Logrotate.
>>>>>>>>>>
>>>>>>>>>> Por ejemplo, tengo un fichero "/etc/logrotate.d/pruebas" con
>>el
>>>>>>>>siguiente contenido:
>>>>>>>>>>
>>>>>>>>>> ------------------
>>>>>>>>>> /var/log/asterisk/messages {
>>>>>>>>>> missingok
>>>>>>>>>> rotate 7
>>>>>>>>>> daily
>>>>>>>>>> create 0640 root root
>>>>>>>>>> postrotate
>>>>>>>>>> /usr/sbin/asterisk -rx 'logger reload' > /dev/null 2>
>>/dev/null
>>>>>>>>>> echo "Se ha ejecutado Logrotate" | mail -s "PRUEBAS: Ejecucion
>>>>de
>>>>>>>>Log Rotate por Dias" manolo@manolo.es
>>>>>>>>>> endscript
>>>>>>>>>> }
>>>>>>>>>> ------------------
>>>>>>>>>>
>>>>>>>>>> Si lo ejecuto con /usr/sbin/logrotate /etc/logrotate.conf, no
>>me
>>>>>>>>hace la rotación y tampoco me manda el mail que tengo puesto en
>>el
>>>>>>>>postrotate.
>>>>>>>>>>
>>>>>>>>>> Pero si lo ejecuto con la opción -f, se realiza la rotación y
>>>>>>>>también me manda el mail.
>>>>>>>>>>
>>>>>>>>>> Es algo como si no detectara al ejecutar el logrotate que es
>>>>>>>>necesario rotar los ficheros.
>>>>>>>>>>
>>>>>>>>>> En el /etc/logrotate.conf tengo el include  de
>>/etc/logrotate.d
>>>>>>>>>>
>>>>>>>>>> ¿Le suena a alguien este tema o por dónde podría tirar?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Saludos,
>>>>>>>>>>
>>>>>>>>>> Ramses
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Prueba a ejecutar con la opción -d (debug) a ver qué te dice.
>>>>>>>>>
>>>>>>>>> No se si es conveniente usar root, ¿no se ejecuta con usuario
>>>>>>>>asterix?
>>>>>>>>> En algunos casos es necesaria la opción copytruncate.
>>>>>>>>>
>>>>>>>>> S2.
>>>>>>>>
>>>>>>>>
>>>>>>>>Lo olvidaba,  revisa el fichero /var/lib/logratate/status
>>>>>>>>ahí veras los que se han ejecutado.
>>>>>>>>
>>>>>>>>S2.
>>>>>>>
>>>>>>> Debieran de ejecutarlo con el usuario "asterisk", pero lo están
>>>>>>ejecutando con "root", de todas firmas, no rota ningún fichero, ni
>>>>los
>>>>>>de ssh, ni apache, ni syslog, ni... El caso es que veo que hace un
>>>>>>tiempo sí rotaba bien.
>>>>>>>
>>>>>>> En el " status" aparecen los últimos que se rotaron, cuando dejo
>>de
>>>>>>funcionar, claro, y los que han rotado cuando uso la opción -f.
>>>>>>>
>>>>>>>
>>>>>>> Saludos,
>>>>>>>
>>>>>>> Ramses
>>>>>>>
>>>>>>
>>>>>>Pues entonces no será problema de logrotate, sino del cron. Revisa
>>>>que
>>>>>>esta funcionando.
>>>>>>
>>>>>>S2.
>>>>>
>>>>> También lo pensé, pero he metido el logrotate cada 5 minutos con la
>>>>opción -f y rota los ficheros sin problema, pero si le quito la
>>opción
>>>>-f, nada.
>>>>>
>>>>>
>>>>> Saludos,
>>>>>
>>>>> Ramses
>>>>>
>>>>
>>>>Me desconciertas...
>>>>A ver ¿has creado un cron normal (fuera de cron.daily) cada 5 minutos
>>?
>>>>
>>>>Pero logrotate solo va a rotar un fichero en función de la
>>>>configuración (weekly, daily, hourly) cuando el log anterior cumpla
>>>>esa condición, tener más de una semana, día u hora. Salvo que lo
>>>>invoques con -f que lo hará incondicionalmente.
>>>>
>>>>lee detenidamente el man de logrotate.
>>>>
>>>>S2.
>>>
>>> Fernando, sí, pero a modo de prueba.
>>>
>>> El logrotate está en cron.daily.
>>>
>>> También, a modo de prueba, he borrado los ficheros de log y he puesto
>>el logrotate en cron.hourly, a ver si creaba los ficheros. Pero nada,
>>como no ponga la opción -f, no los crea.
>>>
>>>
>>> Saludos,
>>>
>>> Ramses
>>>
>>
>>
>>Lo que tienes que mirar es el fichero este:
>>/etc/logrotate.d/pruebas
>>si pone daily solo rotará si el fichero de log que exista tiene más de
>>un día, ahí tienes que poner hourly para probar, quitar el -f  y
>>esperar a que el fichero tenga más de una hora y se ejecute el cron.
>>(Para ver que funciona puedes ejecutarlo a mano en cuanto el fichero
>>de log tenga mas de una hora...)
>>
>>
>>yo probaría así:
>>Hacer una rotación con lorgrotate -f /etc/logrtotate.conf
>>quitar el -f
>>Esperar una hora y volver a ejecutar.
>>
>>Si funciona ya dejar que el cron siga su curso.
>>
>>S2.
>
> Fernando, me temo que el logrotate no tiene la opción "hourly" y hay que esperar todo un día para probar o cambiarle las fechas a los ficheros de log.
>
>
> Saludos,
>
> Ramses
>

Estará mal el man...

       hourly Log files are rotated every hour. Note that usually logrotate is
              configured to be run by cron daily. You have to change this con‐
              figuration and run logrotate hourly to be able to really  rotate
              logs hourly.


S2.


Reply to: