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

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

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

Сообщение tria » 25.08.2009 16:26:57

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

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

Сообщение Attid » 25.08.2009 18:11:07

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

Добавлено спустя 1 минуту 53 секунды:
только замечу что любой компонент может делать бепап только на сервере.
и делается это вызовом одной команды из fbclient.so
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

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

Сообщение grigoreo » 26.08.2009 10:23:06

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


Бэкап дело святое надежнее делать его в демонах на стороне сервера(или вообще кластер иметь основного и резервного на случай урона первого), и как можно регулярнее, а конечный пользователь БД и даже админ не пунктуальны, поэтому могут пропустить святое время очередного бэкапа, в итоге при не дай бог при очередном падении сервака мы понимаем что пару недель придется востанавливать с листочка написаного на коленке ))
Аватара пользователя
grigoreo
постоялец
 
Сообщения: 195
Зарегистрирован: 10.03.2009 15:43:43
Откуда: С нашей Раши

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

Сообщение pi1 » 16.02.2015 18:43:50

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

Добавлено спустя 6 минут 49 секунд:
Уточняю, нужно именно gbak с очисткой от мусора
Аватара пользователя
pi1
новенький
 
Сообщения: 59
Зарегистрирован: 19.04.2012 18:11:24
Откуда: г.Зеленокумск

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

Сообщение *Rik* » 16.02.2015 18:56:37

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

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


У Вас что, FireBird под Wine работает?
Аватара пользователя
*Rik*
постоялец
 
Сообщения: 451
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал

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

Сообщение alexs » 16.02.2015 22:19:11

А почему не пользоваться родными для линукса утилитами? Зачем там вино?
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

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

Сообщение pi1 » 20.03.2015 21:37:30

Оказалось, что gbak нормально и в вине работает. Понадобилось потому как пока не хочу вести два проекта для разных осей. Огнептица ессно линуксовая. Поставил вчера лазарус в ubuntu (точнее в lubuntu), начинаю отрубать виндовые костыли.
Не пойму щас, что делать с репортами в линуксе, создал тему, там задал вопрос.
Аватара пользователя
pi1
новенький
 
Сообщения: 59
Зарегистрирован: 19.04.2012 18:11:24
Откуда: г.Зеленокумск

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

Сообщение mig-31 » 25.03.2015 12:27:05

Абсолютно неверный подход. Если вы делает беккап под Линух, так и надо пользоваться линуховой утилитой. Wine не родное API Линух и ведет себя непредсказуемо. Процесс создания копий обычно автоматический. Предполагаю, что у вас еще под Wine запущен скрипт или программа, которая запускает gbak в нужное время. Т.е у вас два слабых, нестабильных процесса в системе.
Правильный решением было бы подготовить все необходимое под Линух, проверить работоспособность, отключить Виндовс Firebird и включить линуховый.
mig-31
постоялец
 
Сообщения: 224
Зарегистрирован: 14.07.2011 13:46:48

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

Сообщение pi1 » 31.03.2015 12:00:00

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

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

Сообщение *Rik* » 31.03.2015 13:53:16

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 никак(имхо).
Аватара пользователя
*Rik*
постоялец
 
Сообщения: 451
Зарегистрирован: 19.04.2011 12:18:51
Откуда: Урал

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

Сообщение pi1 » 31.03.2015 16:32:12

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


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11

Рейтинг@Mail.ru