Установка и настройка 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

Комментарии

Популярные сообщения из этого блога

Настройка L2TP-соединения на OpenWRT для интернет Beeline Казахстан

Freepbx Asterisk connect to IDphone, Tele2 and Kcell for Kazakhstan