[eside-ghost] logrotate - aviso: email largo

aktor aktor en aktornet.ath.cx
Vie Mar 11 12:11:16 CET 2005


Aupa Alvaro!

El Fri, 11 Mar 2005 10:57:47 +0100
Alvaro Uría escribió:

> > Intentaré explicar el proceso para debian:
> > 
> > 0) al arrancar el sistema, uno de los procesos que se arranca es
> > 'cron' 1) /etc/crontab 
> > 2) /etc/cron.daily
> > 3) /etc/logrotate.conf
> > 4) /etc/logrotate.d/mrtg
> > 5) /etc/cron.weekly/sysklogd
> 
> > Bueno, hasta aquí parece que todo también bien. Entonces... esto
> > debería cumplirse para todos y cada uno de los archivos, ¿no?
> 
> No, porque el p*t* sc*p* de l*s... el syslogd-listfiles lo que hace
> exactamente es:
> 
>  1. Lee el /etc/syslog.conf, y carga unas variables por defecto. Entre
> ellas está una con el tamaño mínimo del fichero de log para rotarlo,
> que no se usa siempre, pero que hay que tener en cuenta (el tamaño por
> defecto es 1MB).
> 
>  2. Del /etc/syslog.conf se pillan las líneas tipo:
> 	mail.*(tabulador)path_al_fichero
> 
> Nota: las facility.priority que aparecen en varias líneas estilo:
> >>>>
> *.=info;*.=notice;*.=warn;\
>         auth,authpriv.none;\
>         cron,daemon.none;\
>         mail,news.none          -/var/log/messages
> <<<<
> las pone el script en una sóla línea.
> 
>  3. Luego se parsean estas líneas, separando lo que son las
> facility.priority (estilo mail.info) del path al fichero. Y según los
> parámetros que le pases en consola a "syslogd-listfiles" escoge un
> fichero u otro:
> 
> 	Ejemplos:
> 		Si no le has pasao el parámetro "--news", pasa totalmente de
> 		las
> líneas que contengan news.(loquesea, incluso *)
> 		Si se lo has pasado, (el "--news", pasará de las líneas que NO
> contengan esa facility, e irá al tratamiento por defecto (lo explico
> al final).
> 
> 		Si le pasas el parámetro "--auth", mostrará las líneas que
> contengan auth.(loquesea) y/o authpriv.(loquesea).
> 
> 		Si le pasas el parámetro "-a" lo muestra todo.

A pesar de que la documentación asi lo explica, no parece que se
comporte así:

>>>
ObeliX:~# syslogd-listfiles -h       

Usage: syslogd-listfiles <options>
Options: -f file        specifies another syslog.conf file
         -a | --all     list all files (including news)
         --news         include news logfiles, too
<<<

-a "todo" excepto la facility "news", ¿no?

>>>
ObeliX:~# syslogd-listfiles -w --news
/var/log/mail.warn
/var/log/uucp.log
/var/log/user.log
/var/log/daemon.log
/var/log/messages
/var/log/debug
/var/log/auth.log
/var/log/mail.err
/var/log/news/news.notice
         ^^^^^^^^^^^^^^^^
/var/log/news/news.crit
         ^^^^^^^^^^^^^^
/var/log/mail.log
/var/log/kern.log
/var/log/lpr.log
/var/log/mail.info
/var/log/news/news.err
         ^^^^^^^^^^^^^
ObeliX:~# syslogd-listfiles --all 
/var/log/mail.warn
/var/log/uucp.log
/var/log/user.log
/var/log/daemon.log
/var/log/messages
/var/log/debug
/var/log/auth.log
/var/log/mail.err
/var/log/syslog
/var/log/mail.log
/var/log/mail.info
/var/log/kern.log
/var/log/lpr.log
<<<


> TRATAMIENTO POR DEFECTO (el else final xD)
> 
> 	Aquí es donde irá con el resto de parámetros (incluídos no
> 	pasarle
> parámetro, o el "--weekly"). Te digo los posibles casos.

Vale, a mi me interesa este caso. Ya que el script
'/etc/cron.weekly/sysklogd' lo que hace es llamar al comando:

>>>
syslogd-listfiles --weekly
<<<

>  1. Si no le pasas parámetro (como en /etc/cron.daily o así), y la
> facility.priority es de tipo *.* (como la de /var/log/syslog) --> SE
> MUESTRA
> 
>  2. Si no le pasas parámetro, y el fichero OCUPA más del tamaño
>  establecido
> (por defecto 1MB)--> SE MUESTRA
> 
>  3. Si le pasas el parámetro "--weekly" (o "-w"), y no tiene la
> facility.priority de tipo *.*, y el último cambio en el fichero es de
> hace como mínimo 5 horas (por defecto es 5 sí :O) --> SE MUESTRA

En función de esto todos o casi todos mis logs deberían rotarse de la
misma manera, ya que como el script se ejecuta una vez a la semana,
todos tienen un cambio en el fichero mínimo de 5 horas (la gran mayoria
de ellos si).

-rw-r-----  1 root     adm       61K 2005-03-11 11:56 syslog
-rw-r-----  1 root     adm      1,8K 2005-03-11 10:00 user.log
-rw-r-----  1 root     adm       461 2005-03-11 09:56 mail.log
-rw-r-----  1 root     adm       461 2005-03-11 09:56 mail.info
-rw-r-----  1 root     adm         0 2005-03-11 01:44 lpr.log
[..]

todos fecha de hoy.

> > Y vemos que no se cumplen ni la equidistancia temporal establecida
> > (7 días) ni el número de archivos rotados que queremos mantener (4).
> 
> Otra cosa, cuando se rota un fichero, guarda la fecha de la última
> modificación del fichero, o sea que aunque se rote a las 6:24 de la
> mañana, en realidad guardará la fecha de la última escritura en el
> fichero (incluso si lo gzipeas XD), por ejemplo, las 2:00 de la
> mañana.

Pero si lo rotas y lo gzipeas... en principio ya no se vuelve a
modificar, excepto para eliminarlo al haber alcanzado el número máximo
de históricos, ¿no? (y de eso se encarga el comando 'savelog')

De todas maneras, sigo sin entender las fechas de modificación distintas
en unos y otros archivos. Tampoco entiendo por qué unos guardan 4
históticos, otros solo 2 y otros 7, cuando la rotación se hace mediante
el comando *para todos igual*:

>>>
savelog -g adm -m 640 -u root -c 4 $LOG 
<<<

donde $LOG es cada uno de los archivos que extrae el parseador
'syslogd-listfiles'.

>>>
-rw-r-----  1 root     adm         0 2005-02-06 06:47 mail.err
-rw-r-----  1 root     adm       107 2005-02-05 21:18 mail.err.0
-rw-r-----  1 root     adm      5,2K 2003-07-13 11:23 mail.err.1.gz
-rw-r-----  1 root     adm       461 2005-03-11 09:56 mail.info
-rw-r-----  1 root     adm      2,3K 2005-03-06 06:27 mail.info.0
-rw-r-----  1 root     adm      1,3K 2005-02-26 06:27 mail.info.1.gz
-rw-r-----  1 root     adm       396 2005-02-06 06:27 mail.info.2.gz
-rw-r-----  1 root     adm       51K 2003-07-13 11:23 mail.info.3.gz
-rw-r-----  1 root     adm       461 2005-03-11 09:56 mail.log
-rw-r-----  1 root     adm      2,3K 2005-03-06 06:27 mail.log.0
-rw-r-----  1 root     adm      1,3K 2005-02-26 06:27 mail.log.1.gz
-rw-r-----  1 root     adm       395 2005-02-06 06:27 mail.log.2.gz
-rw-r-----  1 root     adm       51K 2003-07-13 11:23 mail.log.3.gz
-rw-r-----  1 root     adm         0 2005-02-06 06:47 mail.warn
-rw-r-----  1 root     adm       107 2005-02-05 21:18 mail.warn.0
-rw-r-----  1 root     adm      5,2K 2003-07-13 11:23 mail.warn.1.gz
-rw-r-----  1 root     adm       35K 2005-03-11 11:56 messages
-rw-r-----  1 root     adm      108K 2005-03-06 06:27 messages.0
-rw-r-----  1 root     adm       28K 2005-02-27 06:41 messages.1.gz
-rw-r-----  1 root     adm       12K 2005-02-06 06:27 messages.2.gz
-rw-r-----  1 root     adm      9,8K 2005-01-30 06:45 messages.3.gz
-rw-r-----  1 root     adm      418K 2004-01-11 06:12 messages.4.gz
-rw-r-----  1 root     adm       16K 2003-10-26 06:43 messages.5.gz
-rw-r-----  1 root     adm       28K 2003-10-19 06:42 messages.6.gz
<<<

> Si tienes cualquier duda, me dices ;P

Si, la misma que al principio :-)

gracias de todas maneras, saludos

aktor
-- 
Donald usa teclado. Mickey, Mouse.
		-- Www.frases.com. 

This mail is copyleft-ed to aktor under the terms of the CC License
(Creative Commons). 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : application/pgp-signature
Tamaño     : 189 bytes
Descripción: no disponible
Url        : https://listas.deusto.es/mailman/private/eside-ghost/attachments/20050311/1445b052/attachment-0001.bin


Más información sobre la lista de distribución eside-ghost