Вот и мне нужна помощь.
Может у кого есть решение, как добавить кнопку для резервного
копирования и восстановления базы данных Openbravo POS. Самую кнопку
нарисовать могу :) А вот с вызовами для копирования и восстановления
нужна помощь. Жду любых предложений, которые позволят это сделать.
Само собой если всё получится, результат внесём в наш проект.
С уважением,
Андрей Свининых
А для чего вообще нужна такая кнопка? Резервное копирование традиционно
делается сторонними средствами, причём копировать надо именно данные
СУБД. Для разных СУБД и для разных случаем это делается по разному,
чтобы не нарушить целостность и обеспечить бесперебойность.
Для семейства unix-like систем самое мощное средство - bacula, которую
надо затачивать под конкретную СУБД.
Ну для каждой СУБД это свои собственные команды. Для PostgreSQL,
например, это команда pg_dump в шеле.
Для MySQL - mysqldump.
06.02.12, Sergiu Costas<sergiu...@gmail.com> написал(а):
06.02.12, Артур Акчурин<akar...@gmail.com> написал(а):
Желание сделать backup внутри приложение - это результат не
продумманости разграничения работ системного администратора, мэнтейнера
и пользователя.
Задача системного администратора обеспечить запускаемость софта, его
настройку и бесперебойную работу. Эти задачи невозможно выполнить, не
зная операционной системы. То есть настройка бэкапа - это очень грубо
можно считать частью настройки операционной системы. Потому, что кроме
самих данных часто надо бэкапить много чего.
В общем надо чётко разделить настройку компьютера и настройку POS.
Почему настройка ip-адреса не внутри POS? Консоль для диагностирования?
Учётные записи входа в систему? Ну и т.д.
Что касается CMS систем, то внутрь встраивают кучу всего из-за
ограничений виртуального хостинга. Там часто кроме доступа по FTP нет
других возможностей. В результате через web-интерфейс делают доступ и к
администрированию БД, и к backup, и иногда шел, чтобы проверить
процессы, память и т.д. Это вынужденный шаг, а не крутая фича.
Сам вопрос родился из-за интереса к возможностям JDBC. Есть ли
возможность использовать
SELECT * INTO OUTFILE $FILE_NAME{} FROM $TABLE_NAME{}
для сохранения данных
LOAD DATA INFILE $FILE_NAME{} INTO TABLE $TABLE_NAME{}
для восстановления
Сам попробовал не получилось, а в интете, что-то ответа не найду.
Мне такая возможность нужна для обслуживания удалённых точек(больше
500 км от областного центра), интернета у них нет и к ним не
наездишься(так как дорог к ним тоже практически нет). Так что
единственный вариант посмотреть, что у них происходить в БД и если что
поправить, это выгрузить данные на флешку и передать с оказией.
On 6 фев, 19:20, Артур Акчурин <akart...@gmail.com> wrote:
> Процедура бэкап/рестор сильно зависит от субд. Каждый сервер СУБД
> делает это по своему. Уж если перечислять команды то в Firebird это
> gbak. Универсальных простых решений по моему не существует. Самое
> простое решение это сделать список команд бэкап и рестор для каждого
> сервера, а затем вызывать нужную команду в зависимости от того, какая
> субд используется, ну и соотвествующую инфраструктуру написать. А
> вообще, по большому счету ни к чему это всё по моему. Т.к. обычно
> делают некий файл сценария (батник в винде или sh скрипт в линуксе) в
> котором описана процедура бэкапа. Далее этот сценарий запускают с
> помощью каких нибудь шедулеров.
>
> 06.02.12, Sergiu Costas<sergiu.cos...@gmail.com> написал(а):
08.02.12, ReMaks<rem...@gmail.com> написал(а):
Значит на локальной машине должна быть либо система бэкапа, либо просто
скрипт, который запускается и в определённую папочку кладёт файлик.
Если делать не правильно, но универсально, то можно внутри POS
перечислить таблицы, они у нас фиксированы. В цикле их перебрать и
сгенерировать sql-файл с командами INSERT INTO ... () ....
Но это супер-неправильно. Правильно на локальной системе запускать
команду для конкретной СУБД.