Envío automático de logs

Comentarios sobre el buen funcionamiento del sistema y como personalizarlo a tus necesidades.
Responder
davitcito
Forista Nuevo
Forista Nuevo
Mensajes: 4
Registrado: Lun Mar 23, 2015 4:51 pm

Envío automático de logs

Mensaje por davitcito »

Buenas tardes, tengo una consulta relacionada a bash y envío automático de logs con texto adjunto.

Yo tengo un filesystem llamado /errors en donde se generan automaticamente cada día dos archivos con extension .err, el caso es que ambos archivos pueden tener contenido o no. Por ejemplo, mis dos archivos son:

-rw-r--r-- 1 root root 115 Mar 30 12:10 Productos.xml.err
-rw-r--r-- 1 root root 0 Mar 30 12:14 Servicios.xml.err


Como se ve en el ejemplo, uno de los archivos si tiene contenido y el otro no. La línea del archivo con contenido es la siguiente:
<XXXXXXXXXXX> - <File : XXXXXXXXXXX> - <Entry : XXXX> - <XXXXXXXXXXXX> - <XXXXXXXXXXXX> - <XXXXXXXXXX> - <Invalid>

Lo que yo requiero es generar un shell que concatene el contenido de ambos archivos y que este contenido sea enviado mediante correo, digamos automaticamente cada día a las 12:30.

Yo tengo mas o menos la idea de como hacerlo, pero hay un tema que me descuadra un poco, y es que en el filesystem /errors también existen otros archivos, por lo que yo necesitaría solo tomar los que tiene la extensión .err.

¿Alguién que me pudiera dar una ayuda o consejo?

CYR
Forista Nuevo
Forista Nuevo
Mensajes: 14
Registrado: Vie Abr 10, 2015 5:52 pm
Ubicación: España
Contactar:

Re: Envío automático de logs

Mensaje por CYR »

Podrías en el .cshrs modificarlo para que te redireccione el contenido de esos archivos a un mismo fichero , la parte del correo no sé como se hace.

Pero si no me equivoco por ejemplo :

Código: Seleccionar todo

cat documento1.err > archivo_enviar.err
cat documento2.err >> archivo_enviar.err
Esto es en lo que te puedo ayudar por ahora.

Un saludo y espero ayudarte a avanzar

heliodoro200
Forista Nuevo
Forista Nuevo
Mensajes: 9
Registrado: Mar May 05, 2015 4:23 pm

Re: Envío automático de logs

Mensaje por heliodoro200 »

Buenas,

Como agente de transferencia de mensajes (MTA) puedes usar exim4.

Para instalar exim4:

$ sudo apt-get install exim4

Una vez instalado lo reconfiguras para trabajar por ejemplo con una cuenta de gmail:

$ sudo dpkg-reconfigure exim4-config
Te hace una serie de preguntas contesta como te describo:

mail sent by smarthost; received via SMTP or fetchmail
tudominio.com
127.0.0.1
en blanco
en blanco
smtp.gmail.com::587
No
No
mbox format in /var/mail/
Yes

Una vez que hayas reconfigurado exim4 para trabajar con gmail, vamos a configurar el usuario y password del gmail:

$ sudo nano /etc/exim4/passwd.client

Aquí, al final del fichero copias y pegas con tus datos:
*.google.com:usuario_gmail@gmail.com:password_gmail#

ctrl+x y yes

Ahora reiniciamos el servicio:

$ sudo /etc/init.d/exim4 restart

Ya tienes la parte del correo.

Para crear un sólo fichero de .err vamos a realizar el siguiente script.sh:

$ nano script.sh

#!/bin/bash
cd /dir_donde_estan_los_ficheros
cat Productos.xml.err > fichero_comun.err
cat Servicios.xml.err >> fichero_comun.err
cat fichero_comun.err | mail -s “Envío de fichero de error” usuario_gmail@gmail.com
rm fichero_comun.err
exit

Para enviarlo todos los días a las 12:30 usa cron:
$ crontab -e
Y al final del fichero copia y pega:

30 12 * * * /directorio_donde_esta_script/script.sh

Guardas y ya esta programado para que todos los días te mande el fichero al correo.

Un saludo.

Editado -- Vie May 15, 2015 11:50 pm --

Buenas davitcito,
¿Te sirvió?

Un saludo.
http://system-linux.com

Responder
  • Temas similares
    Respuestas
    Vistas
    Último mensaje