Ver Mensaje Individual
  #82 (permalink)  
Antiguo 09/12/2007, 14:44
Avatar de mauriciolangea
mauriciolangea
 
Fecha de Ingreso: enero-2002
Mensajes: 59
Antigüedad: 22 años, 11 meses
Puntos: 0
Firebird

Tema : Interbase / Firebird

Descripción : ¿Cómo programo respaldos en Firebird / InterBase?

Introducción :
Firebird sede éste trabajo en las herramientas que tenga el sistema operativo. En Windows, puedes crear una tarea programada para invocar un pequeño script .BAT en donde puedes crear directorios, invocar los comandos gbak desde el directorio binario de Firebird, y usar herramientas de compresión ZIP o RAR para empaquetar los archivos de respaldo.

En Linux, puedes usar el demonio crond. Puedes configurarlo con el comando 'crontab -e'. Igual que en Windows, puedes configurar una tarea programada para ello. Aquí ha un ejemplo:

Código:
#defino nombre de variable de respaldo
BCKNAME=/home/respaldo/`date +%Y`/mibasededatos-`date +%F`.fbk
LOGNAME=/home/respaldo/`date +%Y`/log/mibasededatos-`date +%F`.log

#si el directorio de respaldo no existe, lo creo
if [ ! -d /home/respaldo/`date +%Y` ]; then
        mkdir /home/respaldo/`date +%Y`
fi
if [ ! -d /home/respaldo/`date +%Y`/log ]; then
        mkdir /home/respaldo/`date +%Y`/log
fi


#elimino archivo de respaldo anterior, si es que corresponde al mismo dia
rm -f $BCKNAME.gz
rm -f $LOGNAME.gz


#inicio respaldo de la base de datos
(gbak -backup -v -ignore -garbage -limbo /var/database/mibasededatos.fdb -user sysdba -pass masterkey $BCKNAME 2>&1) > $LOGNAME

#comprimo respaldo
gzip -9 $BCKNAME
gzip -9 $LOGNAME


#subo la informacion desde el directorio de respaldo a la unidad de cinta
tar -czf /dev/st0 /home/respaldo