2015-01-14 6 views
6

Мне нужно сделать резервную копию текущего db во время входа в odoo. Я должен сделать это с помощью кнопки, так что предположим, что я нажимаю на кнопку, она работает так же, как резервное копирование по умолчанию в управлении базами данных, но я должен быть в состоянии делать это изнутри во время входа в систему.Резервное копирование Odoo db изнутри odoo

Есть ли способ достичь этого? Я знаю, что это возможно из-за внешнего оду, используя bash, но это не то, что я хочу.

ответ

4

С помощью этого модуля вы можете создавать резервную копию базы данных периодически

https://www.odoo.com/apps/modules/7.0/crontab_config/ (v7)

вы также можете проверить этот модуль

https://www.odoo.com/apps/modules/6.1/db_backup_ept/ (v6 может быть miggrated для v7)

в вашем случае вы можете добавить кнопку для выполнения функции, которая будет выполняться по расписанию.

+0

и v8 вы можете использовать этот модуль https://www.odoo.com/apps/modules/8.0/db_tools/ –

+0

Благодаря Mohammed, я нашел еще один способ обойти это. Но да, этот метод выглядит довольно организованно, один для версии 8! –

+0

Мохаммед Может ли сказать, как вам удалось автоматизировать процесс резервного копирования? Модуль для v8, упомянутый выше, не работает. ImportError: Нет модуля с именем service. –

1

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

0

Перейти к your_odoo_instance/веб/базы данных/менеджер, где вы можете увидеть все установленные базы данных:

Odoo's Database Manager - Backup

Вам понадобится определенный мастер-пароль для выполнения этой задачи. Если вы не можете его запомнить, посмотрите на свой файл odoo.conf на своем сервере и проверьте запись «admin_passwd».

1

Вы можете взять резервную копию базы данных из «Управления базы данных» в odoo ..

типа следующей ссылки в браузере,

http://localhost:8069/web/database/manager

просто заменить IP и порт в aboves ссылке, вы получите экран для управления базами данных, вы можете выполнять следующие операции, связанные с базой данных

  • Создать
  • Дубликат
  • падение
  • резервного
  • Пароль
  • Восстановление
-1

Для резервного копирования, вы можете перейти по этой ссылке http://localhost:8069/web/database/manager.

  • Вы можете создать резервную копию оттуда.
  • Вы также можете восстановить предварительную резервную копию.

Important - Перед этим просто установите свой основной пароль для своей базы данных, чтобы избежать последствий в будущем.

enter image description here Если вы хотите изменить отдельные модели или поля во время входа в систему, вы можете сделать это с помощью export/import действий, предоставляемых Odoo. После экспорта данных из локального сервера вы можете импортировать его на свой сервер, чтобы проверить его. enter image description here

0

Добавить кнопку где-нибудь и вызвать контроллер, подобный этому.

@http.route('/backup/download', auth="user", type='http') 
     def backup(self, **kw): 
      ts = datetime.datetime.utcnow().strftime("%Y-%m-%d_%H-%M-%S") 
      filename = "%s_%s.zip" % (request.env.cr.dbname, ts) 
      headers = [ 
       ('Content-Type', 'application/octet-stream; charset=binary'), 
       ('Content-Disposition', content_disposition(filename)), 
      ] 
      dump_stream = db.dump_db(request.env.cr.dbname, None) 
      response = werkzeug.wrappers.Response(dump_stream, headers=headers, direct_passthrough=True) 
      return response