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