|
|
use at your own risk. Tested on Firebird 1.5 with Debian Etch packages
|
|
|
|
|
|
#!/bin/sh
|
|
|
IBASE_DATADIR=/home/system/firebird
|
|
|
IBASE_BACKUPDIR=/home/storage/backupdump/firebird
|
|
|
|
|
|
IBASE_ETCDIR=/etc/firebird2
|
|
|
GBAK=/usr/bin/gbak
|
|
|
|
|
|
IBASE_OPTIONS="-b -v"
|
|
|
|
|
|
IBASE_HOST="localhost:"
|
|
|
#IBASE_HOST=""
|
|
|
|
|
|
IBASE_USER=`cat $IBASE_ETCDIR/SYSDBA.password | grep ^ISC_USER | cut -d"=" -f2`
|
|
|
IBASE_PWD=`cat $IBASE_ETCDIR/SYSDBA.password | grep ^ISC_PASSWORD | cut -d"=" -f2`
|
|
|
|
|
|
#echo "I am going to connect as user $IBASE_USER with password $IBASE_PWD to host $IBASE_HOST"
|
|
|
|
|
|
# make directory with parents if needed
|
|
|
mkdir -p $IBASE_BACKUPDIR
|
|
|
|
|
|
for i in $IBASE_DATADIR/*.gdb; do
|
|
|
fbdb=`basename $i .gdb`
|
|
|
#echo "Found Interbase/Firebird DB : $fbdb";
|
|
|
IBDB_ALIAS=`cat $IBASE_ETCDIR/aliases.conf | grep $i | cut -d" " -f1`
|
|
|
#echo "Alias for that DB is: $IBDB_ALIAS."
|
|
|
#$GBAK $IBASE_OPTIONS -user $IBASE_USER -password $IBASE_PWD $IBASE_HOST$i $IBASE_BACKUPDIR/$fbfb.gbk
|
|
|
if [ -n "$IBDB_ALIAS" ]; then
|
|
|
$GBAK $IBASE_OPTIONS -user $IBASE_USER -password $IBASE_PWD $IBASE_HOST$IBDB_ALIAS $IBASE_BACKUPDIR/$fbdb.gbk
|
|
|
#echo "I will backup to $IBASE_BACKUPDIR/$fbdb.gbk"
|
|
|
else
|
|
|
echo "Found db-file $i but was not able to find an alias for it."
|
|
|
echo " db-file $i will not be backuped."
|
|
|
fi
|
|
|
done |