Cron Job para enviar y recojer correo cuando hay red

Configuración e instalación de modems para linux...
Responder
Avatar de Usuario
nerdhacker
Mensajes: 38
Registrado: Jue, 12 May 2011, 04:17
Ubicación: Vedado
Contactar:

Cron Job para enviar y recojer correo cuando hay red

Mensaje por nerdhacker » Dom, 25 Sep 2011, 02:22

Necesito saber como realizar un cron job o tarea automatizada para que monitoree y detecte si el existe coneccion en el modem instantaneamente al conectarme y realize la entrega de correo con postfix (mail -q "enviar todos los correos en cola") y luego fectchmail para descargar el correo nuevo (fetchmail "todos los servidores" "todos los usuarios")

algun tip, programa, codigo? algo por webmin?
Ubuntu 11.04 - the Natty Narwhal
VIVA FRAGGLE ROCK!

Avatar de Usuario
hugo
Mensajes: 1430
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: La Habana
Contactar:

Re: Cron Job para enviar y recojer correo cuando hay red

Mensaje por hugo » Dom, 25 Sep 2011, 03:06

Quizás te sirva algo como esto:

Código: Seleccionar todo

#!/bin/sh

HOST="aquí pones la dirección de tu servidor de correo"
CMD1="aquí pones el comando para enviar los mensajes"
CMD2="aquí pones el comando para lanzar fetchmail"

( host -t a $HOST > /dev/null 2>&1 ) && $CMD1 && $CMD2
Es solo una idea, puedes adaptar el script y programarlo en el cron a tu gusto, por ejemplo para que se ejecute cada 5 ó 10 minutos.

Puse el comando host porque algunos proveedores bloquean el icmp pero permiten las consultas DNS, aunque (en mi opinión) sería mejor utilizar ping -c1 $HOST
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke

Avatar de Usuario
nerdhacker
Mensajes: 38
Registrado: Jue, 12 May 2011, 04:17
Ubicación: Vedado
Contactar:

Re: Cron Job para enviar y recojer correo cuando hay red

Mensaje por nerdhacker » Dom, 25 Sep 2011, 12:05

Ok me parece buena tu idea, lo probare, pero viendo tu codigo me resulta otra idea que creo me puede funcionar, primero pregunto, el operador && sirve para ejecutar varios comandos consecutivamente? es decir uno detras del otro (no todo a la misma vez)
dime si usandolo con esta sintaxis estaria correcto para situarlo en una tarea cron que se ejecute cada una hora la cual en este orden realize lo siguiente "conectarse a internet marcando con wmdial; luego enviar los correos pendientes en cola; y luego recojer (fetch) los correos nuevos. por supuesto configuro un tiempo idle en la coneccion para que se desconecte automaticamente cuando ya no exista actividad en la red.

la linea que me imagino podria ser asi?

Código: Seleccionar todo

wmdial && enviar correos en la cola de postfix && fectchmail
Ubuntu 11.04 - the Natty Narwhal
VIVA FRAGGLE ROCK!

Avatar de Usuario
hugo
Mensajes: 1430
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: La Habana
Contactar:

Re: Cron Job para enviar y recojer correo cuando hay red

Mensaje por hugo » Dom, 25 Sep 2011, 12:17

Si, ese operador te permite ejecutar otro comando si el anterior se ejecutó sin errores.
Sobre la linea que propones, si utilizas parámetros quizás te sea mas conveniente meterla en un script. En fin, solo pruébala a ver si funciona.
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke

Avatar de Usuario
nerdhacker
Mensajes: 38
Registrado: Jue, 12 May 2011, 04:17
Ubicación: Vedado
Contactar:

Re: Cron Job para enviar y recojer correo cuando hay red

Mensaje por nerdhacker » Dom, 25 Sep 2011, 12:24

Perfecto, lo probare a ver que tal me va, luego comparto la experincia. Gracias!
Ubuntu 11.04 - the Natty Narwhal
VIVA FRAGGLE ROCK!

Avatar de Usuario
nerdhacker
Mensajes: 38
Registrado: Jue, 12 May 2011, 04:17
Ubicación: Vedado
Contactar:

Re: Cron Job para enviar y recojer correo cuando hay red

Mensaje por nerdhacker » Sab, 01 Oct 2011, 14:17

Bien, experimentando he encontrado una solucion y hasta ahora me falta solo un script.

todas las cuentas en fetchmail estan configuradas para que cada vez que este levantada la interfaz ppp0 realice el fetch en cada una de ellas,
ahora necesito un script para ponerlo en el cron que realize la coneccion con wvdial y lanze el comando para enviar los correos en cola de postfix luego de que fecthmail termine de ejecutarse.

alguna idea por favor?
Ubuntu 11.04 - the Natty Narwhal
VIVA FRAGGLE ROCK!

Avatar de Usuario
hugo
Mensajes: 1430
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: La Habana
Contactar:

Re: Cron Job para enviar y recojer correo cuando hay red

Mensaje por hugo » Lun, 03 Oct 2011, 07:52

¿Y dónde tienes dificultad? Solo agrega a los pasos que ya tienes adelantados el comando para enviar los mensajes, mete todo eso en un script y crea una tarea en el cron que cargue el script cada cierto tiempo.

Algo que debes tener presente es que si lanzas fetchmail en modo daemon sería recomendable detenerlo al finalizar el script para que no quede cargado intentando buscar nuevos correos cuando no haya conexión. Si lo lanzas como aplicación, no tendrás este problema.
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke

Avatar de Usuario
nerdhacker
Mensajes: 38
Registrado: Jue, 12 May 2011, 04:17
Ubicación: Vedado
Contactar:

Re: Cron Job para enviar y recojer correo cuando hay red

Mensaje por nerdhacker » Lun, 03 Oct 2011, 18:09

fetchmail solo se ejecutara o buscara correos nuevos cuando la interfaz ppp0 este levantada (con coneccion), lo que necesito es el codigo para el script que detecte o monitoree cuando fecthmail o el proceso del mismo termino de ejecutarse y de alli pase a enviar los correos en la cola de postfix.
Ubuntu 11.04 - the Natty Narwhal
VIVA FRAGGLE ROCK!

Avatar de Usuario
hugo
Mensajes: 1430
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: La Habana
Contactar:

Re: Cron Job para enviar y recojer correo cuando hay red

Mensaje por hugo » Lun, 03 Oct 2011, 18:50

Ya probaste de la manera simple?

Código: Seleccionar todo

comandodefetchmail && comandodepostfix
Lo único que necesita el mal para triunfar es que los hombres buenos no hagan nada.
- Edmund Burke

Responder