Hoy he estado añadiendo medidas antispam, concretamente sqlgrey (Zimbra trabaja con Postfix, y no había una solución basada en Milter que me gustara).
Estaba viendo pasar trazas en los logs, y resulta que estoy muy desentrenado.
Quería ver resaltadas unas trazas especiales dentro del contexto general, así que la opción --color de egrep no me valía.
Al final he usado sed(1) y algunas secuencias de escape ANSI, que nos valdrán en cualquier terminal remota con SSH.
tailfc()
{
if [ $# -ne 2 ]; then
echo "usage: tailfc file expr"
else
# recordemos que el ^[ en amarillo se consigue con
# CTRL + v seguido de CTRL + [
tail -f $1 | sed "s/($2)/^[[1;31m1^[[0m/g”
fi
}
Lo he añadido en ~/.bashrc y así se invoca como un comando interno del shell, indicando el log a seguir y la expresión que queremos ver remarcada.
Así, se ejecutamos el siguiente comando:
# tailfc /var/log/maillog "sqlgrey: .*"
Seguiremos el log del sistema de correo, marcando en rojo las trazas que genera sqlgrey:
Se resaltan las tramas interesantes, que es lo que buscamos
El segundo parámetro puede ser cualquier expresión regular que entienda sed, así que partimos de la trama interesante hasta el final de linea, y añadimos los códigos de color que deseemos (que podemos sacar del BASH Prompt How To).
Es bastante sencillo, pero me ha sido muy útil para seguir las trazas en tiempo real, dentro del contexto del tráfico de correo
.
Leer el post completo »