hoy vamos a ver cómo podemos establecer recordatorios de una forma automática y que sea el propio sistema quien nos avise mediante mail sobre aquellas tareas que hemos programado.
A veces es interesante establecer recordatorios sencillos a uno mismo mediante correo-e. La manera mas directa de realizar esta labor es usar cron + mail.
Si estuviésemos mandando un mail de forma directa desde la linea de comandos, la sintaxis seria similar a:
mail -s «Test de envío» eloy@local
pero esta forma no realizaría el envío de forma directa, sino que espera la introducción del cuerpo del mensaje (que por supuesto puede estar vacío), para finalizar la entrada del cuerpo debiéramos pulsar Ctrl-D dos veces. Esta forma de mandar el mail puede darnos un poco de dolor de cabeza si lo que queremos es enviar el mail con el cuerpo vacío y además queremos mandar el mail de forma inmediata. Para salvar este problema podemos intentar lo siguiente:
mail -s «Test de envío» eloy@local < /dev/null
Si estas usando cron para el envío de mails, mail corre de forma no interactiva y puede darse el caso de que no se comporte como se espera. En sistemas Debian, por ejemplo, no es necesario hacer la redirección. Esta línea simplemente es suficiente:
59 8 * * 1-5 mail -s «Test de envío» eloy@local
se enviará el mail a las 8:59 de Lunes a Viernes con el cuerpo vacio y sin ningún tipo de intervención. No obstante, como ya hemos comentado, este comportamiento puede no ser el mismo dependiendo del programa mail que estemos ejecutando. Si en tu sistema tienes algún problema trata de añadir como tubería de entrada /dev/null tal y como aparece en la línea de comandos.
Si quieres redirigir la salida del comando mail, también puedes usar la redirección en el sentido inverso:
59 8 * * 1-5 mail -s «Test de envío» eloy@local > /dev/null
Si quieres enviar el mail con algún contenido en el cuerpo del mensaje (por ejemplo los contenidos de un fichero de log), puedes hacer lo siguiente:
15 4 * * * mail -s «Log de hoy» eloy@local < /var/log/messages
De todas formas, en el caso de querer realizar envíos de logs de forma regular, una mejor alternativa es LogWatch. En cualquier caso, el tema del log en este articulo sólo pretendía ser un ejemplo rápido. Si quisiéramos enviar un body en el correo simplemente podríamos escribir el fichero en el sistema de ficheros y posteriormente con las tuberías poblar el mail sin problema, como ya se ha mostrado.
Saludos a todos y hasta mañana.
You must be logged in to post a comment.