Os recomiendo probar siempre el script en un entorno de pruebas para prevenir posible pérdidas de datos. Usarlo bajo vuestra responsabilidad!

 

BueLogo Firebirdnas!

Aquí os dejo un sencillo script bash para poder hacer backups de BD´s Firebird en un servidor Linux.

En mi caso, la distribución que siempre uso es Debian pero cambiando el valor de las variables, podéis adaptarlo a cualquier distribución.

 

#!/bin/bash
# Definiciones de variables
# gbak = Ruta donde se encuentra el comando gbak
# bases = Ruta donde estan las bases de datos
# backup = Ruta donde se realizara la copia de seguridad

gbak=»/opt/firebird/bin/gbak -g -b»
bases=»/bases/»
backup=»/backup/bases»

# Definicion de variables para las bd… en caso de contar con mas
# base de datos se agrega una linea mas con el nombre de archivo fisico de la bd
bd1=»nombre_archivo_bd1″
bd2=»nombre_archivo_bd2″
bd3=»nombre_archivo_bd3″

#Se crea una carpeta temporal para guardar las copias anteriores (por si no existia)
mkdir -p $backup/backup_anterior

#Borra las copias anteriores de la carpeta temporal (por si hay archivos viejos)
rm -f $backup/backup_anterior/*.gbk

#Mueve el ultimo backup realizado a la carpeta de backup_anterior, por si acaso
#tenemos problemas con el backup actual
mv $backup/*.gbk $backup/backup_anterior

#Realiza el backup capturando la fecha y hora actual
for DB in $bd1 #Lo mismo para$bd2 $bd3…
do
FECHA=$(date +%Y%m%d_%H%M)
echo -n «Realizando backup de ${DB} … »
${gbak} -USER SYSDBA -PAS sgi2004 ${bases}/${DB}.gdb ${backup}/${DB}-${FECHA}.gbk
echo «Backup finalizado con exito»
done

#Comprime las bd guardadas en /backup/bases
#tar -cvzf ${backup} ${backup}/backup-${fecha}.seg

# Fin del proceso

Espero que os sea útil!

Comparte este artículo

Si te parece interesante, comparte este artículo con tu amigos