Ayuda con logs en Postfix
Ayuda con logs en Postfix
Buenas tardes a todos tengo un problema y necesito solucion de una forma o de otra, la pregunta es la siguiente uso postfix como servidor de correo pero como todos saben postfix genera varios log de esos solo me interesa el mail.log ahora el mail.log en su contenido tiene todo lo realizado por dias, bien yo necesito que postfix me genere 1 mail.log por dia pero por, separado, o sea mail.log1 o mail1.log y asi segun los dias algo estilo al Mdaemon que lo genera diario y los compacta usando la fecha de ese dia, en postfix eciste alguna configuracion para eso o toca hacerlo usando scripts?. Gracias
Re: Ayuda con logs en Postfix
Se me ocurre que podrías modificar el logrotate. No lo he probado, pero en teoría debería funcionar.
Ahora, como Postfix por defecto no incluye un logrotate propio, podrías editar el archivo /etc/logrotate.d/syslog (o quizás rsyslog) y eliminar las siguientes entradas:
Entonces crear en el directorio /etc/logrotate.d/ un archivo llamado postfix (aunque igual podría simplemente agregarse una entrada al final de la configuración de rotación de syslog en lugar de crear un archivo separado) con un contenido como este:
Esto básicamente indica que se roten y compriman diariamente los logs del servicio de correo, y se mantenga el histórico por un año.
Ahora, como Postfix por defecto no incluye un logrotate propio, podrías editar el archivo /etc/logrotate.d/syslog (o quizás rsyslog) y eliminar las siguientes entradas:
Código: Seleccionar todo
/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
Código: Seleccionar todo
/var/log/mail.* {
daily
missingok
rotate 365
compress
delaycompress
notifempty
create 640 syslog adm
postrotate
reload syslog >/dev/null 2>&1 || true
endscript
}
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke
- Edmund Burke
Re: Ayuda con logs en Postfix
Hugo esto es lo que tengo dentro del /etc/logrotate.d/syslog
Ahora bien de ahi que debo quitar, modificar o agregar? y si no te es mucha molestia ni te roba mucho tiempo podrias explicarme que significa cada linea de estas:
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscrip t
Gracias
Código: Seleccionar todo
/var/log/syslog
{
rotate 7
daily
missingok
notifempty
delaycompress
compress
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
{
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscrip t
Gracias
Re: Ayuda con logs en Postfix
Mis instrucciones son claras, eliminas las líneas que menciono y creas el bloque que sugiero o bien al final del archivo o en un archivo separado con el nombre postfix. Realmente tienes que probar, de modo que por si acaso haz primero una salva de tu configuración actual.
En cuanto a la explicación que pides, ejecuta el siguiente comando en un emulador de terminal:
(En Linux todo o casi todo viene con manual)
En cuanto a la explicación que pides, ejecuta el siguiente comando en un emulador de terminal:
Código: Seleccionar todo
man logrotate
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke
- Edmund Burke
Re: Ayuda con logs en Postfix
Ah vale muchas gracias hugo, otro detalle en caso de que solo quiciera que rotaran y que no se compactaran solo debo quitar del script estas lineas:
delaycompress
compress
cierto?
y esto al final para que es?
invoke-rc.d rsyslog rotate > /dev/null
para reiniciar el servicio del rsyslog?
Otra cosita ahi me das para que los historicos se mantengan por 1 ano entonces esa rotacion como seguiria desde el 1 hasta el 365 ?
o desde el 1 hasta el 30 o 31 de cada vez? me refiero a la numeración que le asigna el logrotate a cada fichero
delaycompress
compress
cierto?
y esto al final para que es?
invoke-rc.d rsyslog rotate > /dev/null
para reiniciar el servicio del rsyslog?
Otra cosita ahi me das para que los historicos se mantengan por 1 ano entonces esa rotacion como seguiria desde el 1 hasta el 365 ?
o desde el 1 hasta el 30 o 31 de cada vez? me refiero a la numeración que le asigna el logrotate a cada fichero
Re: Ayuda con logs en Postfix
Si, con eso debe ser suficiente para evitar la compresión.JuancaDJ escribió: ...en caso de que solo quiciera que rotaran y que no se compactaran solo debo quitar del script estas lineas:
delaycompress
compress
cierto?
No tanto reiniciarlo como hacer la rotación. Puede que no sea necesario, pero si el syslog originalmente lo lleva, por algo será, de hecho probablemente sea mejor usar esa línea en lugar de la que te puse (reload syslog >/dev/null 2>&1 || true).JuancaDJ escribió: y esto al final para que es?
invoke-rc.d rsyslog rotate > /dev/null
para reiniciar el servicio del rsyslog?
En el ejemplo que te puse la numeración se reinicia solo después de 365 días, si quieres menos días solo modifica el valor de la rotación.JuancaDJ escribió: Otra cosita ahi me das para que los historicos se mantengan por 1 ano entonces esa rotacion como seguiria desde el 1 hasta el 365 ?
o desde el 1 hasta el 30 o 31 de cada vez? me refiero a la numeración que le asigna el logrotate a cada fichero
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke
- Edmund Burke
Re: Ayuda con logs en Postfix
Bueno hugo ya pasado 8 dias desde que hice lo que me dijiste con el logrotate no e tenido el resultado que esperaba, ayq eu yo pense que pasaado cada dia el me haria un mail.log.1 y asi sucesivamente pero nada lo que ha hecho es engordar el mail.log almacenando dentro todo lo relacionado por dias
Que hice mal o que falto?
Esto es lo que tengo en el fichero postfix dentro del logrotate.d
Que hice mal o que falto?
Esto es lo que tengo en el fichero postfix dentro del logrotate.d
Código: Seleccionar todo
/var/log/mail.* {
daily
missingok
rotate 31
compress
delaycompress
notifempty
create 640 syslog adm
postrotate
invoke-rc.d rsyslog rotate > /dev/null
endscript
}
Re: Ayuda con logs en Postfix
Aparentemente tu syslog no está detectando correctamente los logs, así que cambia la primera línea por esto a ver si te funciona:
Código: Seleccionar todo
/var/log/mail.log /var/log/mail.info /var/log/mail.warn /var/log/mail.err {
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke
- Edmund Burke
- salbi
- Mensajes: 66
- Registrado: Sab, 07 Ago 2010, 14:09
- Ubicación: /usr/local/bin/salbi.sh
- Contactar:
Re: Ayuda con logs en Postfix
Aqui te pongo la conf del mio y trabaja al 100, lo hace como quieres,
Código: Seleccionar todo
/var/log/syslog
{
rotate 370
daily
missingok
notifempty
delaycompress
compress
postrotate
invoke-rc.d rsyslog reload > /dev/null
endscript
}
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
{
rotate 4
weekly
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
invoke-rc.d rsyslog reload > /dev/null
endscript
}
/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
{
daily
compress
delaycompress
rotate 1
missingok
create 0640 root adm
sharedscripts
prerotate
#!/bin/bash
/etc/init.d/postfix stop > /dev/null
endscript
postrotate
#!/bin/bash
fecha=`date -d "-1 days" +%Y-%m-%d`
path="/mnt/datos/Datos/trazas/postfix"
test -x $path/$fecha || mkdir -p $path/$fecha
find /var/log/ -name "mail.*.gz" -exec mv -f {} $path/$fecha \;
/etc/init.d/postfix start > /dev/null
find $path/* -type d -ctime +365 -exec rm -f {} -R \;
invoke-rc.d rsyslog reload > /dev/null
endscript
}
*SaLvAdOr SaNcHeZ SaNcHeZ
*Administrador de Redes
*Sectorial Municipal de Salud
*Grupo de Usuarios de Tecnologías Libres en Cuba -»http://gutl.jovenclub.cu/
*Proud GNU/Linux User # 525811
*http://counter.li.org/
*Cacocum - Holguín
Re: Ayuda con logs en Postfix
Si pero eso generaria un log diario para todos los logs incluidos en syslog no?
Si entendi bien al colega, el desea un log diario solo para el correo.
Si entendi bien al colega, el desea un log diario solo para el correo.
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke
- Edmund Burke