ARTICULO: Realizar copias de seguridad de los Logical Logs con la herramienta ontape de forma autómatica

ARTICULO: Realizar copias de seguridad de los Logical Logs con la herramienta ontape de forma autómatica

6 julio, 2011 ARTÍCULOS 0

Realizar copia de seguridad de los datos resulta una tarea imprescindible para tener un sistema seguro y recuperable lo más rápidamente posible y con la menor pérdida de datos. Para ello es necesario realizar copias de seguridad de las bases de datos, que permiten restaurar hasta el punto en el que se realizó la copia, y copias de seguridad de los logs (Si las bases de datos son transaccionales), que permiten guardar todas las operaciones realizadas entre dos copias de seguridad.

En este artículo nos centraremos en las modificaciones necesarias en un IBM Informix sobre Linux/Unix para disponer de un copia de seguridad de los logs de los últimos 7 días, aunque sería fácilmente modificable para guardar más o menos días.

Lo primero que hay que hacer es disponer de un directorio en el que almacenar los copias de seguridad. Este directorio debe pertenecer al usuario y grupo informix y tener permisos 770:

# mkdir /datos/informix/copia_logs

Después debemos editar el fichero $INFORMIXDIR/etc/$ONCONFIG para cambiar el parámetro LTAPEDEV, que es el que nos va a indicar el directorio en el que guardar los logs. Hay que ponerlo apuntando a /datos/informix/copia_logs. Como es un parámetro que no se puede cambiar en caliente, es necesario reiniciar el gestor para que tenga efecto el cambio.

A continuación debemos editar el fichero del parámetro ALARMPROGRAM (Viene un fichero por defecto), que es el script al que IBM Informix llama cada vez que se produce un evento del servidor. Lo podemos encontrar editando el fichero $ONCONFIG y buscando la variable ALARMPROGRAM o bien ejecutando:

# onstat -c|grep ^ALARMPROGRAM|awk ‘{print $2}’

En ese fichero hay que modificar dos entradas:

BACKUPLOGS=Y
BACKUP_CMD=”ontape -a -d”

Y cambiar las acciones a realizar en caso de recibir el evento 23, que indica que se ha llenado un log. Para ello debemos añadir lo que aparece en negrita a continuación.

23)
# LOGICAL LOG FILE COMPLETED

# onbar assumes no operator is present, so all messages are written to the
# activity log and there shouldn’t be any output, but send everything to
# /dev/null just in case
printf «Subject: $INFORMIXSERVER : $EVENT_SEVERITY_NAME : $EVENT_MSG\n» >> $MAILHEAD
printf «$EVENT_ADD_TEXT\n» >> $MAILBODY

# TO IMPLEMENT LATER
# If there is already a logical log backup don’t launch onbar again.
if ( `test x${BACKUPLOGS} = xY` ) then
$BACKUP_CMD 2>&1 >> /dev/null
EXIT_STATUS=$?
printf » ‘$BACKUP_CMD’ has been executed and returned CODE=%s\n\n» $EXIT_STATUS >> $MAILBODY
if ( `test $EXIT_STATUS -eq 0` ) then # Hacerlo solo si la copia ha ido bien
gzip `ls /datos/informix/copia_logs/* |grep -v gz` # Comprime los que no estén comprimidos
find /datos/informix/copia_logs -mtime +6 -exec rm {} \; # Borra los que tengan mas de 7 dias
fi

fi

Al pasar por el alarm program, el gestor dejara en el directorio especificado los archivos comprimidos y solo los logs correspondientes a los últimos siete días. Es importante saber que antes de realizar una restauración, es necesario descomprimir los logs correspondientes mediante el comando “gzip –d ‘nombre_log.gz’”

Con esto ya tenemos el gestor realizando copia de los logs, permitiendo una recuperación mucho más completa que sólo con los copias de seguridad de datos.

Este procedimiento solo es válido para versiones posteriores a Informix 11.50. Para consultar el procedimiento para otras versiones, contacte con nosotros en:

soporte@proyectosysoluciones.es

Deja un comentario

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