【问题标题】:Backup Odoo db from within odoo从 odoo 中备份 Odoo db
【发布时间】:2015-03-12 05:05:07
【问题描述】:

我需要在登录 odoo 时备份当前数据库。我应该可以使用一个按钮来执行此操作,因此假设我单击该按钮,它的工作方式与管理数据库中的 odoo 默认备份相同,但我应该能够在登录时从内部执行此操作。

有什么方法可以实现吗?我确实知道使用 bash 从 odoo 外部可以做到这一点,但这不是我想要的。

【问题讨论】:

    标签: python openerp odoo


    【解决方案1】:

    通过使用此模块,您可以定期备份数据库

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

    你也可以测试这个模块

    https://www.odoo.com/apps/modules/6.1/db_backup_ept/(v6可以迁移到v7)

    在您的情况下,您可以添加按钮来执行将由计划执行的功能。

    【讨论】:

    • 对于 v8,您可以使用该模块 odoo.com/apps/modules/8.0/db_tools
    • 感谢 Mohammed,我找到了另一种解决方法。但是,是的,这种方法看起来很有条理,适用于版本 8!
    • Mohammed 你能告诉我你是如何设法自动化备份过程的吗?上面提到的 v8 模块不工作。 ImportError:没有名为服务的模块。
    【解决方案2】:

    您可以使用 CURL 下载完整备份(assets + DB),这种方法比 pg_dump 相对快。

    curl -X POST \
    -F "master_pwd=${ADMIN_PASSWORD}" \
    -F "name=${ODOO_DATABASE}" \
    -F "backup_format=zip" \
    -o ${BACKUP_DIR}/${ODOO_DATABASE}.$(date +%F-%T).zip \
    ${HOST}/web/database/backup
    

    如果您愿意,您可以在自定义(您自己的)Odoo 插件中进行包装。希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      您可以从odoo中的“数据库管理”中进行数据库备份..

      在浏览器中输入以下链接,

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

      只需替换上面链接中的ip和端口,就会出现数据库管理界面,可以进行以下与数据库相关的操作

      • 创建
      • 复制
      • 放下
      • 备份
      • 密码
      • 恢复

      【讨论】:

        【解决方案4】:

        在某处添加一个按钮并调用这样的控制器。

        @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
        

        【讨论】:

          【解决方案5】:

          您可以使用私人浏览器会话从登录屏幕访问数据库菜单,并在那里执行备份表单(您需要知道主密码才能访问,在服务器配置文件中定义)。

          【讨论】:

            【解决方案6】:

            转到your_odoo_instance/web/database/manager,您可以在其中查看所有已安装的数据库:

            Odoo's Database Manager - Backup

            您需要为此任务定义的主密码。如果您不记得了,请查看服务器中的 odoo.conf 文件并检查“admin_passwd”条目。

            【讨论】:

              【解决方案7】:

              有很多方法可以转储ODOO的数据库。您也可以从 ODOO 商店下载应用程序以自动执行此操作。在这里,我可以建议一个插件,它会根据您的设置以月、日、小时为基础执行此数据库自动备份。这是一种高度可靠和高效的方式,该模块可以在不影响 odoo 进程的情况下处理大型数据库。 ODOO DATABASE AUTOMATIC BACKUP

              【讨论】:

                【解决方案8】:

                使用此模块进行自动备份

                活跃的开发者模式。 转到设置 > 常规设置 > 数据库备份 设置数据库名称和保存数据库的路径。

                https://apps.odoo.com/apps/modules/11.0/db_backup/

                https://apps.odoo.com/apps/modules/14.0/yodoo_easy_backup/

                【讨论】:

                  【解决方案9】:

                  对于备份,您可以转到此链接http://localhost:8069/web/database/manager

                  • 您可以从那里创建备份。
                  • 您也可以恢复预先存在的备份。

                  Important- 在此之前只需设置您的数据库的主密码以避免将来产生后果。

                  如果您想在登录时更改特定模型或字段。您可以通过 Odoo 提供的export/import 操作来完成。从本地导出数据后,您可以将其导入您的服务器,因为您必须对其进行验证。

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2023-04-07
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多