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

Re: Logrotate no funciona / ha dejado de funcionar.



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


Reply to: