пятница, 10 февраля 2012 г.

Автоматический отресториватель (постановка) (черновик)

Задача: Надоело ресторить базы и выявлять какой версии СУБД они при этом.
Решение: Написать автоматический отресториватель баз.
Суть:
Написать утилиту, которая запускается каждые 5 минут, например, и сканирует определенную папку на наличие файлов в ней (можно ввести ограничение на заголвок и тип файло). При обнаружении файла-бэкапа базы:
1. запуск рестора с помощью утилит Firebird 1.5;
1.1. после завершения работы утилиты провести анализ лога на наличие текста ошибки:
gbak: opened file backup_file.fbk
gbak: transportable backup -- data in XDR format
gbak: backup file is compressed
gbak: ERROR: Expected backup version 1, 2, or 3. Found 8
gbak: Exiting before completion due to errors


Found 8 - говорит о том, что предоставленный бэкап предназначен для СУБД Firebird 2.1
Found 9 - говорит о том, что предоставленный бэкап предназначен для СУБД Firebird 2.5

Если текст ошибки другой, то ...


Няшки: Научить утилиту ставить метку о СУБД в наименовании файла отресторенной базы (например base_FB21.FDB - ясно, что это база для СУБД Firebird 2.1).

Комментариев нет:

Архив