Главная » Статьи » Автоматизация резервного копирования и восстановления БД Firebird: Командная оболочка UNIX/Linux.
Автоматизация резервного копирования и восстановления БД Firebird: Командная оболочка UNIX/Linux.
Следующий способ автоматизации резервного копирования базы данных Firebird под *nix это использование консольной утилиты "gbak" входящей в состав дистрибутива.
Для удобства будем использовать командную оболочку UNIX - sh-файл.
Используя разные источники и свои измышления у меня получился sh-файл такого вида:
#!/bin/bash
# Переменные для настройки
curdate=`date +%F`
PATH=/opt/firebird/bin:${PATH}
server=localhost
db={файл или алиас БД}
dbuser=SYSDBA
dbpassword=masterkey
bkpath={Путь к файлам резервной копии}
bkfile=$bkpath/$db-$curdate.fbk
# Делаем резервную копию при помощи утилиты "gbak"
echo `date` start backuping data
gbak -b -g $server:$db $bkfile -user $dbuser -pass $dbpassword
echo `date +%X` backup successfully. File "$bkfile"
# Упаковываем при помощи архиватора gzip
echo `date +%X` compressing
gzip -f $bkfile
echo `date +%X` compress ok
# Удаляем старые резервные копии базы (30 дней)
find $bkpath/$db-* -type f -mtime +30 -delete
echo `date +%X` remove old file
# Переменные для настройки
curdate=`date +%F`
PATH=/opt/firebird/bin:${PATH}
server=localhost
db={файл или алиас БД}
dbuser=SYSDBA
dbpassword=masterkey
bkpath={Путь к файлам резервной копии}
bkfile=$bkpath/$db-$curdate.fbk
# Делаем резервную копию при помощи утилиты "gbak"
echo `date` start backuping data
gbak -b -g $server:$db $bkfile -user $dbuser -pass $dbpassword
echo `date +%X` backup successfully. File "$bkfile"
# Упаковываем при помощи архиватора gzip
echo `date +%X` compressing
gzip -f $bkfile
echo `date +%X` compress ok
# Удаляем старые резервные копии базы (30 дней)
find $bkpath/$db-* -type f -mtime +30 -delete
echo `date +%X` remove old file
Для исполнения можно использовать различные утилиты. Я использую crontab.
Автор: Хуснутдинов Назир Каримович (Wild Pointer)
Дата: 16.05.2013
Дата: 16.05.2013