El vie, 31-08-2018 a las 08:34 -0400, Damián Tomey Soto escribió:
Buenos días colegas.
Necesito ayuda para hacer un script que me filtre de un archivo de
log
las líneas que tienen tres palabras. El resultado necesito que se me
envíe por correo cada cierto tiempo. Este archivo contiene los log de
un
pfsense, las líneas que necesito extraer son las que tienen las
cadenas
em0 match block, o sea todo lo que el pfsense bloquea por su interfaz
wan.
Con el siguiente comando cat /var/log/firewall/2018-08-30/messages |
egrep 'em0,match,block' ya tengo parte del scrip.
A los entusiastas agregarle que el archivo de log está en un
directorio
con la fecha de la siguiente forma:
/var/log/firewall/YEAR-MONTH-DAY/messages
Y por último si no es mucho agregar quisiera cada vez que se ejecute
el
script que solo me envíe la diferencia con la vez anterior que se
ejecutó el script.
Ufff entendieron?, alguien tiene algo de esto hecho ya?
Gracias.
Y que cante y baile además... ;-)
No offense, es solo un chiste malo mío...
La diferencia entre un fichero de texto y otro la sacas con el comando
diff (man diff). Eso no es difícil.
Si la diferencia la has sacado a un fichero de texto con:
diff text1 text2 > diferencia.txt
Podrías declarar una tarea de crontab que cada x tiempo haga algo como:
mail -s 'Informe' administrador(a)minodo.cu < fichero-diff.txt
y recibirías el informe.
Lo demás me parece que ya lo tienes, ¿no?
--
M.Sc. Alberto García Fumero
Usuario Linux 97 138, registrado 10/12/1998
http://interese.cubava.cu
No son las horas que pones en tu trabajo lo que cuenta, sino el trabajo
que pones en esas horas.