Cómo redireccionar las salidas de los programas hacia el correo electrónico o el teléfono móvil


A todos nos ha pasado alguna vez que un amigo nos ha pedido que le mandemos la salida de un programa por correo… y nos
hemos liado al copiar desde consola.
O nos gustaría recibir una confirmación automática en el móvil del resultado de esa tarea que tenemos programada en el
crontab.

Como siempre, a la hora de realizar tareas de este tipo, hay muchas formas y soluciones posibles… he aquí dos que me
funcionan.

Estas suelen ser cuestiones sencillas de resolver, pero en las que todos los novatos hemos caído: en ambos casos, usamos
el redirector “|“, o pipe.

Redirigir la salida de un programa hacia el correo electrónico
A la hora de enviar correo, podemos usar mail (o mailx), que seguro que todos tenemos instalado; se trata
de un cliente básico de correo en texto que nos permite enviar y recibir mensajes desde consola.

Así, usando “|” para redireccionar la salida y pasándole sólo dos parámetros (en realidad basta uno) a mailx,
tenemos solucionado el problema.

Por ejemplo:

$ ls -la | mailx -s “Título del mensaje” [email protected]

De esta forma, estamos mandando el listado de archivos en un directorio directamente a la dirección de correo que nos
interese, y el parámetro -s nos permite definir el título del mensaje.

En el caso de tener la tarea programada en cron, se usaría de la misma forma:

0 4 * * * /directorio/del/script | mailx -s “Resultado del script” [email protected]

En este caso, y de forma automática, recibiremos la salida de script, que se ejecuta a las cuatro de la madrugada todos
los días del año.
Nota: Para cambiar las entradas de crontab, usar $ crontab -e

En ambos casos, si vuestra máquina no tiene un nombre válido en internet, la dirección remitente puede tener la forma
pepito@hammer o root@router, con lo
que los MTA de destino un poco quisquillosos os devolverán los mensajes por no poder comprobar que la direccion
remitente existe, en ese caso, es conveniente editar el fichero /etc/email-addresses, en el que podemos definir una
dirección válida para cada usuario del sistema, que será usada a la hora de mandar correo (al menos así es con exim en
Debian).

Redirigir la salida de un programa hacia un teléfono móvil mediante mensajes cortos
(SMS)

Para redirigir las salidas hacia un teléfono móvil, usamos el mismo redireccionamiento con “|“, pero esta vez,
usaremos linuxsms para mandar los mensajes (ya hemos hablado de linuxsms en algún artículo e incluso en la lista de
Bulma
):

$ ls -la | linuxsms -server:vodafone -number:123456789
En este caso mandamos el mensaje al número 123456789 a través del servidor de vodafone.

De todas formas, pensad que la longitud de los mensajes cortos está limitada a 160 caracteres y que, según el servidor
que uséis, la longitud puede ser menor porque añadirán alguna linea de publicidad, por lo que mandar la salida de ls -la, en general, no tendría mucho sentido.

Si lo hacemos mediante cron, quedaría:

0 4 * * * /directorio/del/script | linuxsms -server:vodafone -number:123456789
exactamente igual que antes.

Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=1477 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.