Установка и настройка firebird на Debian в связке с Такси Мастером
Данная статья написана для клиентов Такси Мастера. Здесь я расскажу, как перенес базу firebird с windows на debian linux. На него я установил debian 8 (64 разрядная система).
Заходим под root
#su
Обновим систему
#apt-get update && apt-get upgrade -y
Установка firebird
#apt-get install firebird2.5-classic
Нажмите "yes". Необходимые пакеты будут загружены и установлены на целевую систему. Также будет создан новый пользователь “firebird” для запуска сервера, но сервер пока не будет запускаться автоматически.
Для запуска сервера Firebird автоматически при старте системы, запустите настройку dpkg-reconfigure на данном пакете и нажмите “Да” при соответствующем вопросе. Затем вам будет предложено ввести пароль SYSDBA (пароль для базы Такси Мастера вводим от учетной записи Администратор)
#dpkg-reconfigure firebird2.5-classic
После ввода пароля и нажатия "ок" сервер FireBird будет запущен. Далее редактируем файл aliases.conf
#nano /etc/firebird/2.5/aliases.conf
Добавляем путь, где у нас будет лежать база данных. Дописываем эту строку и сохраняем
taximaster = /var/lib/firebird/2.5/data/tme_db.fdb
Теперь скачиваем библиотеку UDF rfunc, заходим на сайт.
На этом сайте скачиваем архив rfunc.linux_amd64.tar.gz. Скачиваем программу WinSCP и устанавливаем, затем архив перекидываем на linux. Распаковываем его
#tar xvfz rfunc.linux_amd64.tar.gz
Копируем в папку UDF
#cp rfunc.co /usr/lib/firebird/2.5/UDF/
Создаем пользователя CON
#/usr/bin/gsec -user SYSDBA -password <пароль от SYSDBA> -a CON -pw con
Останавливаем службу, выключаем ТМ server и все что с ним связано, прерываем все соединения к базе. Запускаем WinSCP копируем базу в
/var/lib/firebird/2.5/data/
, присваиваем права базе:#chown firebird:firebird tme_db.fdb
#chmod 777 tme_db.fdb
Заходим в настройки TMServer прописываем в окне "База данных"
Адрес: ip адрес debian linux
Путь: taximaster
Стартуем TMServer и запускаем Такси мастер, подключаемся и проверяем. Создаем файл для создания бекапов базы
#touch firebird-backup
#nano firebird-backup
Вставляем этот текст
#!/bin/sh
/usr/bin/gbak -b -g taximaster /var/lib/firebird/2.5/backup/tme_`date +'%Y-%m-%d_%H-%M-%S'`.fbk -user sysdba -password
<пароль от SYSDBA>
Создаем firebird-backup-clean по такому же принципу. В нем осуществляется чистка бэкапов спустя 14 дней
#!/bin/sh
find /var/lib/firebird/2.5/backup/ -name '*.fbk' -type f -mtime +14 -exec rm '{}' \;
Создаем файл для починки базы данных dbfix
#!/bin/sh
SERVER='192.168.0.103'
PATH='/var/lib/firebird/2.5/data/tme_db.fdb'
USER='sysdba'
PASS='<пароль от SYSDBA>'
BACKUP_PATH="/var/lib/firebird/2.5/tmp/tme_db.fbk"
NEW_PATH='/var/lib/firebird/2.5/tmp/new.fdb'
GFIX='/usr/bin/gfix'
GBAK='/usr/bin/gbak'
$GFIX -v -full $SERVER:"$PATH" -USER $USER -PAS $PASS
$GFIX -v -ignore $SERVER:"$PATH" -USER $USER -PAS $PASS
$GFIX -mend $SERVER:"$PATH" -USER $USER -PAS $PASS
$GFIX -v -full $SERVER:"$PATH" -USER $USER -PAS $PASS
$GBAK -b -v -ig -g $SERVER:"$PATH" -USER $USER -PAS $PASS $BACKUP_PATH
$GBAK -c -v $BACKUP_PATH $SERVER:"$NEW_PATH" -USER $USER -PAS $PASS
Теперь нужно чтобы скрипт бекапа запускался каждый день в 3 часа ночи и производилась чистка не актуальных бекапов, для этого открываем crontab и прописываем
0 3 * * * /bin/bash /opt/firebird-script/firebird-backup > /dev/null 2>&1
0 4 * * * /bin/bash /opt/firebird-script/firebird-backup-clean > /dev/null 2>&1
Комментарии
Отправить комментарий