domingo, 8 de abril de 2012

FreeBSD 8: Batch para actualizar los ports con envio de correo.

FreeBSD 8.2, deseo que se ejecute un batch diario a las 12:00AM, existe un parametro en crontab que nos ayuda:

@daily

Ahora nuestro batch debe de:

1) Actualizar nuestro arbol de ports.
2) Actualizar nuestro indice de ports.
3) Enviarnos un correo para saber que se llevo a cabo.

Bien, para esto vamos a requerir las siguientes herramientas:

  • cvsup
  • portsdb
  • mail
Ahora viene como queda nuestro batch:

#!/bin/sh
###2012-04-02
###Script para actualizar los ports via cron
###yoarrobamidominio.com

### 1ro actualizamos todo el arbol.
/usr/local/bin/cvsup -g -L 2 /root/updates/ports-cvs

### 2do bajamos el index de los ports
/usr/local/sbin/portsdb -Fu

### 3ro armamos el correo
SUBJECT="Actualizacion de Spam Server Ports"
EMAIL="yo@midominio.com"
EMAILM="/root/updates/message.txt"

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

###5to fin

Recordar agregar el bit de ejecucion de este batch:

chmod +x updates.sh

Vamos viendo el contenido del archivo message.txt:

Se actualizaron los ports del servidor de spam.

Listo, salvamos nuestro archivo.

Ahora nuestro cron job:

@daily  /bin/sh /root/updates/update.sh

Listo, nuestro cronjob va a correr a las 12:00AM diario y nos va a enviar un correo, listo a esperar nuestros correos.

No hay comentarios: