Восстановление БД биллинга из резервной копии.

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (15)

просмотр истории страницы
h3. 1. Подготовка

{note}
Перед процедурой восстановления во избежание срабатывания автоматических тестов нужно отключить cron:
{code}
service crond stop
{code}
{note}
Восстанавливать БД можно из локального бэкапа (Дневной, Недельный, Месячный) либо из бэкапа, который копируется на FTP сервер. На FTP сервере бэкапы хранятся в архиве, поэтому после копирования на сервер с биллингом их нужно распаковать. Например имя бэкапа backup_daily_2016-30-21_02-53_asr_billing.tar.gz, тогда команда распаковки будет выглядеть вот так:
Перед выполнением операции, перейдите в директорию где лежит требуемая резервная копия. Допустим, требуется восстановить одну из локальных резервных копий. В таком, случае выполните следующую команду:
{code}

На всякий случай, проверяем, что БД трафика на месте {{buff_traf.gdb}}. Если её нет, берём пустую из скелета:
На всякий случай, проверяем, что БД трафика {{buff_traf.gdb}} на месте . Если её нет, берём пустую. Если есть остановленная БД трафика, сохраняем её в той же папке для архива.
{code}
chroot /app/asr_billing/
[ -s /var/db/buff_traf.gdb.stop ] && ( mv /var/db/buff_traf.gdb.stop /var/db/buff_traf.gdb.stop.`date +%s`)
[ ! -s /var/db/buff_traf.gdb ] && ( yes | cp /skelet/var/db/buff_traf.gdb /var/db/buff_traf.gdb && chown firebird:firebird /var/db/buff_traf.gdb && chmod g+w /var/db/buff_traf.gdb )
exit
{code}

h3. 9. Запуск биллинга

Выходим из контейнера командой
{code}exit{code}
Запускаем биллинг
{code}
{info:title=При необходимости сохраняем текущую БД}
{code}mv /app/asr_billing/var/db/billing.gdb.stop /root/{code}
{code}mv /app/asr_billing/var/db/billing.gdb.stop /root/billing.gdb.stop-`date +%Y-%m-%d_%H%M`{code}
{info}
# Копируем в рабочий каталог демо БД
{code}
{info:title=При необходимости сохраняем текущую БД}
{code}mv /app/asr_billing/var/db/billing.gdb.stop /root/{code}
{code}mv /app/asr_billing/var/db/billing.gdb.stop /root/billing.gdb.stop-`date +%Y-%m-%d_%H%M`{code}
{info}
# Копируем в рабочий каталог пустую БД
h3. Биллинг в safemode

*1.* # Зайтите в чрут биллинга
{code}chroot /app/asr_billing{code}
*2.* # Найдите последний по времени создания файл в папке /var/db/safemode, для этого выполните команду
{code}ls -1trhd /var/db/safemode/* | tail -n 1
/var/db/safemode/billing.gdb.save_mode.2017-02-22_15-42-43.gdb{code}
*3.* # Скопируйте данный файл в папку, где он должен располагаться для запуска биллинга и выставьте правильные права доступа к файлу
{code}mv /var/db/safemode/billing.gdb.save_mode.2017-02-22_15-42-43.gdb /var/db/billing.gdb.stop
chown firebird:firebird /var/db/billing.gdb.stop{code}
# На всякий случай, проверяем, что БД трафика {{buff_traf.gdb}} на месте. Если её нет, берём пустую:
{code}
[ ! -s /var/db/buff_traf.gdb ] && ( yes | cp /skelet/var/db/buff_traf.gdb /var/db/buff_traf.gdb && chown firebird:firebird /var/db/buff_traf.gdb && chmod g+w /var/db/buff_traf.gdb )
{code}
*4.* # Выйдите из чрута и снова выполните запуск биллинга
{code}exit
echo 'stop OK' >/app/asr_billing/var/lib/app.state