[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, 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.


Reply to: