Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > periodical Database backup


Автор: Vladus 13.4.2010, 16:05
Всем доброго времени суток.

Есть задача: периодически бекапить некоторые настройки приложения и базу. С бекапом настроек и переодичностью проблем нет, а вот, что делать с базой не очень понятно.

Во-первых, используется хибернейт, но я так понимаю, что бекап базы выходит из пределов его компетенции.
Остается вариант использования разных тулзовин из комплекта поставки СУБД (поддерживается несколько)

Ну вот например для MySQL:
Код

mysqldump --user=USERNAME --password=PASSWORD DMNAME > dump.sql

Или для PostgreSQL:
Код

pg_dump -i -h localhost -p 5432 -U postgres -F c -b -v -f "db.backup" db_name

Для PostgreSQL есть еще одна проблема - пароль передается только после выполнения команды, т.е. прямым 
Код

Runtime.getRuntime().exec(command)

тут не обойтись, есть идеи брать у процесса поток и писать в него пароль, но пока что безрезультатно, да и не нравится эта идея мне.

Собственно вопрос: насколько идеологически плох этот подход, может кто-то подскажет варианты получше или как вообще стоит реализовывать автоматический бекап.

Заранее благодарен

Автор: AntonSaburov 13.4.2010, 16:48
Ну и нормально - запускать тот же cron с командой на бэкап. Нафига такие сложности - через Hibernate, программа на Java. Будьте проще.

Автор: Vladus 13.4.2010, 17:19
AntonSaburov, спасибо за совет, но боюсь, что у меня не получится использовать cron в данный момент. Могу еще добавить, что совершенно не обязательно бекапить схему, можно обойтись одними данными.
А касательно Hibernate - так я хочу уточнить, что он используется впринципе в приложении, а не именно для бекапа  smile  бекап базы - это просто как дополнительная фича - не получится реализовать ее без танцев с бубнов - повременю пока с ней. smile 

Автор: batigoal 15.4.2010, 08:45
Бэкапы - это задача для внешних скриптов. сron - стандартный вариант. С чем связана невозможность его использования?

Автор: Vladus 15.4.2010, 13:35
batigoal
не то, чтобы невозможность. просто хотелось бы обойтись рамками своего приложения. В принципе, уже найдено альтернативное решение, так что тему можно считать закрытой.

всем участвовавшим еще раз спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)