Главная » Статьи » Автоматизация резервного копирования и восстановления БД 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.exe"
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.