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 seguridadgbak=»/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!