Firebird, бекап базы - как?

Модератор: Модераторы

Ответить
tria
постоялец
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10
Контактная информация:

Firebird, бекап базы - как?

Сообщение tria »

Использую FibL. Возникло желание производить бекап из своего приложения, а не сторонними средствами.
На сколько знаю, в FibPlus это есть. Существуют ли Лазарусовские компоненты для бекапа?
Запуск Gbak.exe из коммандной строки - это я и сам знаю...
Аватара пользователя
Attid
долгожитель
Сообщения: 2588
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E
Контактная информация:

Сообщение Attid »

в UIB есть. не использую.

Добавлено спустя 1 минуту 53 секунды:
только замечу что любой компонент может делать бепап только на сервере.
и делается это вызовом одной команды из fbclient.so
Аватара пользователя
grigoreo
постоялец
Сообщения: 195
Зарегистрирован: 10.03.2009 14:43:43
Откуда: С нашей Раши

Сообщение grigoreo »

tria писал(а):Использую FibL. Возникло желание производить бекап из своего приложения, а не сторонними средствами.
На сколько знаю, в FibPlus это есть. Существуют ли Лазарусовские компоненты для бекапа?
Запуск Gbak.exe из коммандной строки - это я и сам знаю...


Бэкап дело святое надежнее делать его в демонах на стороне сервера(или вообще кластер иметь основного и резервного на случай урона первого), и как можно регулярнее, а конечный пользователь БД и даже админ не пунктуальны, поэтому могут пропустить святое время очередного бэкапа, в итоге при не дай бог при очередном падении сервака мы понимаем что пару недель придется востанавливать с листочка написаного на коленке ))
Аватара пользователя
pi1
новенький
Сообщения: 59
Зарегистрирован: 19.04.2012 18:11:24
Откуда: г.Зеленокумск
Контактная информация:

Сообщение pi1 »

Возникла настоятельная потребность выполнить сохранение БД FireBird в среде WINE (ось lubuntu). В Windows использую gbak , а как это запустить из под Wine не пойму.
Приложение нормально коннектится к серваку, все операции с БД отрабатывает, а вот для gbak никак командную строку не соберу. Мелькает черный экран и аллес :(. Может кто подскажет? Заранее благодарен.

Добавлено спустя 6 минут 49 секунд:
Уточняю, нужно именно gbak с очисткой от мусора
Аватара пользователя
*Rik*
постоялец
Сообщения: 453
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал
Контактная информация:

Сообщение *Rik* »

pi1 писал(а):Возникла настоятельная потребность выполнить сохранение БД FireBird в среде WINE (ось lubuntu). В Windows использую gbak , а как это запустить из под Wine не пойму.
Приложение нормально коннектится к серваку, все операции с БД отрабатывает, а вот для gbak никак командную строку не соберу. Мелькает черный экран и аллес :(. Может кто подскажет? Заранее благодарен.

Добавлено спустя 6 минут 49 секунд:
Уточняю, нужно именно gbak с очисткой от мусора


У Вас что, FireBird под Wine работает?
Аватара пользователя
alexs
долгожитель
Сообщения: 4066
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь
Контактная информация:

Сообщение alexs »

А почему не пользоваться родными для линукса утилитами? Зачем там вино?
Аватара пользователя
pi1
новенький
Сообщения: 59
Зарегистрирован: 19.04.2012 18:11:24
Откуда: г.Зеленокумск
Контактная информация:

Сообщение pi1 »

Оказалось, что gbak нормально и в вине работает. Понадобилось потому как пока не хочу вести два проекта для разных осей. Огнептица ессно линуксовая. Поставил вчера лазарус в ubuntu (точнее в lubuntu), начинаю отрубать виндовые костыли.
Не пойму щас, что делать с репортами в линуксе, создал тему, там задал вопрос.
mig-31
постоялец
Сообщения: 224
Зарегистрирован: 14.07.2011 13:46:48

Сообщение mig-31 »

Абсолютно неверный подход. Если вы делает беккап под Линух, так и надо пользоваться линуховой утилитой. Wine не родное API Линух и ведет себя непредсказуемо. Процесс создания копий обычно автоматический. Предполагаю, что у вас еще под Wine запущен скрипт или программа, которая запускает gbak в нужное время. Т.е у вас два слабых, нестабильных процесса в системе.
Правильный решением было бы подготовить все необходимое под Линух, проверить работоспособность, отключить Виндовс Firebird и включить линуховый.
Аватара пользователя
pi1
новенький
Сообщения: 59
Зарегистрирован: 19.04.2012 18:11:24
Откуда: г.Зеленокумск
Контактная информация:

Сообщение pi1 »

У меня линуховый firebird, а gbak запускаю под wine. Процесс создания копий у меня не автоматический. Насчет непредсказуемости, это точно. В винде такого насмотрелся, а тут еще и в линухе увидел - неизвестно почему (не wine!!!) система валится до ряби на монике. Например запускаю последнюю lubunta, запускаю firefox и получаю рябь на монике. Понятное дело, что где то что то не срослось после обновлений. Но что ж тогда бояться "не родного API" если "родное" валится? Тем более, что разработчики wine утверждают, что wine=wine is not windows :)
Аватара пользователя
*Rik*
постоялец
Сообщения: 453
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал
Контактная информация:

Сообщение *Rik* »

pi1 писал(а):У меня линуховый firebird, а gbak запускаю под wine. Процесс создания копий у меня не автоматический.

Не совсем ясно, вы из Wine линуксовый gback каким-то образом запускаете (написана программа которая через коиентскую библиотеку вызывает соответствующее API) или вы в wine руками виндовый запускаете? Если второй вариант, то я бы сказал это опасно.
Сделайте скрипт в линуксовом блокноте, например mybasebackup:

Код: Выделить всё

/opt/firebird/bin/gbak -B -G -V -user SYSDBA -pas masterkey /home/myhomefolder/base/MYBASE.FDB /home/myhomefolder/backup/MYBASE.FBK
/opt/firebird/bin/gbak -C -V -user SYSDBA -pas masterkey /home/myhomefolder/backup/MYBASE.FBK /home/myhomefolder/backup/MYBASE.FDB

Здесь вам нужно только пути заменить. Все папки, указанные в путях, перед запуском скрипта должны существовать.
Первая строка создает в папке buckup резервную копию, вторая строка из резервной копии в этой-же папке восстанавливает базу без мусора и т.д. Останется только после бэкапа заменить рабочую базу на новую восстановленную.
На файле mybasebackup должен стоять флаг - разрешить выполнение файла как программы.
Скрипт запускать из под рута #./mybasebackup
После работы скрипта в папке buckup будет 2 файла MYBASE.FBK и MYBASE.FDB, первый резервная копия, второй восстановленная база, на обоих файлах будет владелец root.
После замены старого файла рабочей базы на новый, на файл базы данных назначить владельцем - пользователя firebird.

pi1 писал(а):Насчет непредсказуемости, это точно. В винде такого насмотрелся, а тут еще и в линухе увидел - неизвестно почему (не wine!!!) система валится до ряби на монике. Например запускаю последнюю lubunta, запускаю firefox и получаю рябь на монике. Понятное дело, что где то что то не срослось после обновлений. Но что ж тогда бояться "не родного API" если "родное" валится? Тем более, что разработчики wine утверждают, что wine=wine is not windows :)
Скорее всего либо видеокарта концы отдает (видеопамять) или видеодрайвер глючит. На линуксе железо тщательнее подбирать нужно. Для десктопа без nvidia никак(имхо).
Аватара пользователя
pi1
новенький
Сообщения: 59
Зарегистрирован: 19.04.2012 18:11:24
Откуда: г.Зеленокумск
Контактная информация:

Сообщение pi1 »

Спасибо за консультацию по бэкапу. Очень полезно. А по железу для линуха действительно заморочка. Все бы ничего, если б сразу вылезло, а то после обновлений вылазит. Может отключить обновления?
Ответить