Cron Job para enviar y recojer correo cuando hay red
- nerdhacker
- Mensajes: 38
- Registrado: Jue, 12 May 2011, 04:17
- Ubicación: Vedado
- Contactar:
Cron Job para enviar y recojer correo cuando hay red
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?
algun tip, programa, codigo? algo por webmin?
Ubuntu 11.04 - the Natty Narwhal
VIVA FRAGGLE ROCK!
VIVA FRAGGLE ROCK!
Re: Cron Job para enviar y recojer correo cuando hay red
Quizás te sirva algo como esto:
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
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
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
- Edmund Burke
- 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
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?
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!
VIVA FRAGGLE ROCK!
Re: Cron Job para enviar y recojer correo cuando hay red
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.
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
- Edmund Burke
- 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
Perfecto, lo probare a ver que tal me va, luego comparto la experincia. Gracias!
Ubuntu 11.04 - the Natty Narwhal
VIVA FRAGGLE ROCK!
VIVA FRAGGLE ROCK!
- 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
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?
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!
VIVA FRAGGLE ROCK!
Re: Cron Job para enviar y recojer correo cuando hay red
¿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.
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
- Edmund Burke
- 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
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!
VIVA FRAGGLE ROCK!
Re: Cron Job para enviar y recojer correo cuando hay red
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
- Edmund Burke