El 29 de junio de 2016 20:59:09 CEST, Ramses <ramses.sevi...@gmail.com> 
escribió:
>El 29 de junio de 2016 20:04:02 CEST, Ramses <ramses.sevi...@gmail.com>
>escribió:
>>El 29 de junio de 2016 19:47:55 CEST, fernando sainz
>><fernandojose.sa...@gmail.com> escribió:
>>>El día 29 de junio de 2016, 19:19, Ramses <ramses.sevi...@gmail.com>
>>>escribió:
>>>> El 29 de junio de 2016 18:28:44 CEST, fernando sainz
>>><fernandojose.sa...@gmail.com> escribió:
>>>>>El día 29 de junio de 2016, 18:08, Ramses
><ramses.sevi...@gmail.com>
>>>>>escribió:
>>>>>> El 29 de junio de 2016 16:11:16 CEST, fernando sainz
>>>>><fernandojose.sa...@gmail.com> escribió:
>>>>>>>El día 29 de junio de 2016, 15:53, Ramses
>>><ramses.sevi...@gmail.com>
>>>>>>>escribió:
>>>>>>>> El 29 de junio de 2016 15:22:15 CEST, fernando sainz
>>>>>>><fernandojose.sa...@gmail.com> escribió:
>>>>>>>>>El día 29 de junio de 2016, 15:18, fernando sainz
>>>>>>>>><fernandojose.sa...@gmail.com> escribió:
>>>>>>>>>> El día 29 de junio de 2016, 15:01, Ramses
>>>>>>><ramses.sevi...@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" man...@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
>
>Estoy yo pensando solo conmigo mismo.
>
>¿Tendrá algo que ver con el formato de la fecha y hora con que se
>guardan los logs y el formato en el lis busca logrotate que se haya
>cambiado por cualquier motivo?
>
>¿Se puede ver en el que espera encontrárselos logrotate?
>
>
>Saludos,
>
>Ramses

Bueno, pues parece que no voy muy desencaminado con lo del formato de las 
fechas para la comparación.

Si en el fichero "/etc/logrotate.d/prueba" pongo, por ejemplo, "size 100k", 
rota el fichero.

¿Alguien sabe si puedo ver en algún sitio los formatos de comparación de fecha 
del logrotate?


Saludos,

Ramses


Responder a