El abr 23, 2013 2:07 p.m., "fernando sainz" <[email protected]> escribió: > > El día 23 de abril de 2013 13:56, <[email protected]> escribió: > > El 2013-04-23 13:48, fernando sainz escribió: > > > >> 2013/4/23 <[email protected]>: > >>> > >>> El 2013-04-23 12:23, fernando sainz escribió: > >>> > >>>> El día 23 de abril de 2013 12:02, fernando sainz > >>>> <[email protected]> escribió: > >>>>> > >>>>> > >>>>> El día 23 de abril de 2013 11:40, <[email protected]> escribió: > >>>>>> > >>>>>> > >>>>>> El 2013-04-23 11:27, fernando sainz escribió: > >>>>>> > >>>>>>> 2013/4/23 <[email protected]>: > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> Hola muy buenas, tengo configurado logrotate para que vaya rotando > >>>>>>>> los > >>>>>>>> logs > >>>>>>>> de apache. Mi problema es que me gustaría que comprimira también el > >>>>>>>> archivo > >>>>>>>> access.log.1. He mirado un poco su man y ejemplos, y he modificado a > >>>>>>>> /etc/logrotate.d/apache2 la linea delaycompress por nodelaycompress, > >>>>>>>> de > >>>>>>>> esta > >>>>>>>> forma no se retrasa la compresión para la siguiente rotación pero > >>>>>>>> aún > >>>>>>>> así, > >>>>>>>> lo he lanzado manualmente(ya que es cron quien lo lanza): > >>>>>>>> > >>>>>>>> logrotate --debug --force /etc/logrotate.d/apache2 > >>>>>>>> > >>>>>>> > >>>>>>> No entiendo muy bien el porqué de que quieras hacer eso, ¿es por > >>>>>>> falta > >>>>>>> de espacio? > >>>>>>> Pues cambia el numero de copias que guarda: > >>>>>>> rotate 52 > >>>>>>> y pon alguna menos. > >>>>>>> > >>>>>>> S2. > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>> Gracias por contestar. No es que sea problema de espacio, simplemente > >>>>>> quiero > >>>>>> que zipee directamente el primer log rotado a .log.1. Son grandes y > >>>>>> quiero > >>>>>> zipearlos. > >>>>>> > >>>>>> Con esta linea en postrotate, me soluciona el apaño: > >>>>>> > >>>>>> gzip *.log.1 > >>>>>> > >>>>>> Saludos y gracias. > >>>>>> > >>>>>> > >>>>> > >>>>> Supongo que habrás mirado las opciones: > >>>>> delaycompress > >>>>> nodelaycompress > >>>>> > >>>>> > >>>>> delaycompress > >>>>> Postpone compression of the previous log file to the next > >>>>> rota‐ > >>>>> tion cycle. This only has effect when used in > >>>>> combination > >>>>> with > >>>>> compress. It can be used when some program cannot be > >>>>> told > >>>>> to > >>>>> close its logfile and thus might continue writing to the > >>>>> previ‐ > >>>>> ous log file for some time. > >>>>> > >>>>> nodelaycompress > >>>>> Do not postpone compression of the previous log file to > >>>>> the > >>>>> next > >>>>> rotation cycle (this overrides the delaycompress option). > >>>>> > >>>>> > >>>>> > >>>>> > >>>>> Pero ojo, si en el logrotate de apache han puesto el delaycompress es > >>>>> por que tal vez lo necesita. > >>>>> > >>>>> S2. > >>>> > >>>> > >>>> > >>>> Buscando un poco encontré esto: > >>>> > >>>> > >>>> > >>>> > >>>> http://articles.slicehost.com/2010/6/30/understanding-logrotate-on-debian-part-1 > >>>> > >>>> delaycompress > >>>> > >>>> This command can be useful if you want the archived logs to be > >>>> compressed, but not right away. With "delaycompress" active an > >>>> archived log won't be compressed until the next time the log is > >>>> rotated. This can be important when you have a program that might > >>>> still write to its old logfile for a time after a fresh one is rotated > >>>> in. Note that "delaycompress" only works if you also have "compress" > >>>> in your config. > >>>> > >>>> An example of a good time to use delaycompress would be when logrotate > >>>> is told to restart apache with the "graceful" or "reload" directive. > >>>> Since old apache processes would not be killed until their connections > >>>> are finished, they could potentially try to log more items to the old > >>>> file for some time after the restart. Delaying the compression ensures > >>>> that you won't lose those extra log entries when the logs are rotated. > >>>> > >>>> Como ves, parece que es necesario y que si comprimieras el fichero > >>>> podrías perder información. > >>>> > >>>> S2. > >>> > >>> > >>> > >>> > >>> Gracias por contestar. Estoy de acuerdo, es necesario pero metiéndolo > >>> después de la ejecución de postrotate no debería dar problemas, para eso > >>> está el postrotate, una vez que ha acabado...zipea: > >>> > >>> postrotate > >>> /etc/rc.d/init.d/httpd closelogs > /dev/null 2>&1 || : > >>> gzip *.log.1 > >>> endscript > >>> > >>> > >>> Saludos. > >>> > >>> > >>> > >> > >> No he profundizado mucho en el proceso, en mi caso el postrotate que > >> tiene la configuración del logrotate es otra: > >> > >> postrotate > >> /etc/init.d/apache2 reload > /dev/null > >> > >> En el caso de que el script de init.d solo mandara una señal a los > >> procesos, que no se lo que hace, estos podrían tardar en parar y > >> perderías logs. > >> > >> S2. > > > > > > > > Lo he probado metiendo tráfico y no he perdido ni un sólo logs. Porque > > cuando va a zipear el *.log.1 , ya ha acabado de realizar las rotaciones. Es > > decir, cuando está zipeando, ya están entrando las peticiones a access.log > > por ejemplo o error.log. > > > > > > Saludos. > > > > > > Probablemente solo se pierdan cosas en situaciones extremas, un apache > con muchos procesos en paralelo, una máquina con accesos a disco muy > saturados, o cosas así. > Cuando los desarrolladores lo hacen será porque en algún caso es > posible. Si a ti eso no te importa, pues no pasa nada. > Como te dije antes, si no es por problemas de espacio no lo veo mas > que como un ejercicio de estos que uno hace cuando se aburre... :-) > > S2. > > > -- > To UNSUBSCRIBE, email to [email protected] > with a subject of "unsubscribe". Trouble? Contact [email protected] > Archive: http://lists.debian.org/cagwrhhwy1if-ir+n_znvdnqbcy5awk1fwaadfoxkev5fsy...@mail.gmail.com >
Aburrirme no me aburro, no me da tiempo. Si lo quiero zipear es porque son grandes esos logs y no ando muy bien de espacio en disco. Saludos.

