无论做什么,一定要做好数据备份的工作。而 ERP 系统 Odoo 更是如此,一旦出现问题,那么数据库备份就是救命稻草。所以今天就跟大家分享下我目前的 Odoo 自动备份策略,以及相关设置,供大家参考使用。

给 Odoo 添加自动备份数据库到对象存储、网盘、其他服务器功能 第5张插图

利用宝塔自动备份 Odoo 数据库

Odoo 数据库管理界面提供了用于备份,复制,删除,创建和还原数据库的工具。使用数据库管理界面创建备份是一件容易的事。只需打开浏览器并导航到

此处内容已隐藏,请登录后刷新页面查看

单击 Backup 链接,将显示一个新的弹出窗口。输入您的 Odoo 数据库主密码,然后单击蓝色的 Backup 按钮来创建备份。根据数据库大小,备份可能需要一些时间才能准备就绪。

使用命令行创建数据库备份

现在,我们知道如何通过 Odoo 数据库管理界面创建备份,我们如何才能使用相同的工具从命令行创建备份?答案很简单。使用 wget 或 curl 。两种工具都可以通过 POST 发送数据,我们可以使用 POST 将必要的变量传递给 Odoo 数据库工具。

在下面的示例中,主密码为ADMIN_PASSWORD,我们正在创建名为DB_NAME的数据库的备份文件odoo-backup-${ODOO_DATABASE}.$(date +%F).zip这里之所以用这个文件名,是因为可以按日期命名,防止文件重复,该文件将保存在/dujin/odoo/beifen目录中。

使用 curl 命令备份

curl -X POST -F 'master_pwd=ADMIN_PASSWORD' -F 'name=DB_NAME' -F 'backup_format=zip' -o /dujin/odoo/beifen/Odoo-Backup-${ODOO_DATABASE}.$(date +%F).zip http://localhost:8069/web/database/backup

使用 wget 命令备份

wget --post-data 'master_pwd=ADMIN_PASSWORD&name=DB_NAME&backup_format=zip' -O /dujin/odoo/beifen/Odoo-Backup-${ODOO_DATABASE}.$(date +%F).zip http://localhost:8069/web/database/backup

给 Odoo 添加自动备份数据库到对象存储、网盘、其他服务器功能 第6张插图

由于我们现在是在本机上执行 odoo 计划任务,如果要从远程位置而不是 localhost 创建备份,则需要输入 Odoo 实例的 URL。在这种情况下,建议您使用 HTTPS,想必你不希望密码以纯文本格式通过 Internet 明文发送。

这里的文件夹位置可以自定义,但是建议设置在外网无法访问的位置,以免被第三者下载。

给 Odoo 添加自动备份数据库到对象存储、网盘、其他服务器功能 第7张插图

接着我们又可以利用宝塔的计划任务备份指定目录/dujin/odoo/beifen,在宝塔免费应用当中安装各个平台插件,这样就实现了 Odoo 数据库自动备份到对象存储、网盘以及其他服务器当中。如:

  1. FTP存储空间
  2. 阿里云OSS
  3. 七牛云存储
  4. 谷歌云存储
  5. 谷歌云网盘
  6. 亚马逊S3云存储
  7. 腾讯云COS
  8. 百度云存储
  9. 华为云存储
  10. 微软OneDrive
  11. 京东云存储
  12. ……