domingo, 8 de abril de 2012

Freebsd 8: Batch para enviar ports a actualizar.

Bien, el post pasado nos actualiza diariamente nuestro arbol de ports a las 12:00AM, ahora yo no deseo saber diario que ports requieren actualizarse, yo deseo llevar a cabo esto todos los viernes a la 1:00AM.

Es sencillo, ya vimos como enviar correos via batch, ahora este tarea solo debe ejecutar un comando, enviarlo a un archivo de texto y enviar correo.

Comandos requeridos:

  • portversion
  • mail
Nuestros batch quedaria asi:

#!/bin/sh
 
### 1ro armamos el correo
SUBJECT="Ports Que Requieren Actualizarse"
EMAIL="yoarrobamidominio.com"
EMAILM="/root/updates/message1.txt"

### 2do Generamos nuestro contenido.
echo "Estos ports requieren actualizarse:" > $EMAILM
echo "                                   " >> $EMAILM
 
### 3do sacamos la informacion de actualizacion
/usr/local/sbin/portversion -l "<" >> $EMAILM

### 4to mandamos correo de aviso a root
/usr/bin/mail -s "$SUBJECT" "$EMAIL" < $EMAILM

###5to fin

Como podran ver, cada que se ejecuta el batch se genera el archivo message1.txt, ahora viene lo que ya sabemos, agregar el bit de ejecucion a el batch:

chmod +x portversion.sh

Ahora nuestro crontab quedaria asi:

0 1 * * * 5 /bin/sh /root/updates/portversion.sh

Porque no uso "weekly"?

Por que este se ejecuta los domingos, y yo deseo que sea ejecutada los viernes, el sexto parametro "5" es viernes para crontab, listo ahora solo esperamos nuestros correos cada que abramos nuestro inbox los viernes, saludos.




No hay comentarios: