Odoo自动化备份神器:GitHub_Trending/se/server-tools自动备份模块配置指南
你是否还在为Odoo数据库备份耗费大量时间?是否担心手动备份遗漏导致数据丢失风险?本文将详细介绍如何通过GitHub_Trending/se/server-tools项目中的auto_backup模块实现数据库自动备份,配置完成后你将获得:定时备份机制、本地与远程存储管理、失败自动通知以及一键测试连接等核心能力。
模块概述
Database Auto-Backup模块(auto_backup/)是Odoo社区开发的服务器管理工具,支持版本18.0.1.0.1(auto_backup/manifest.py),采用AGPL-3开源协议。该模块通过定时任务自动执行数据库备份,并支持备份文件的本地清理、远程SFTP存储以及邮件通知功能,解决管理员手动备份效率低、易遗漏的痛点。
核心功能
- 定时备份:基于Odoo内置定时任务(CRON)实现自动执行
- 多存储策略:同时支持本地文件系统和远程SFTP服务器存储
- 生命周期管理:可配置本地/远程备份文件自动清理规则
- 故障通知:备份失败时通过邮件自动告警
- 连接测试:一键验证SFTP服务器连接有效性
安装准备
环境要求
- Odoo版本:18.0及以上
- 依赖模块:mail(邮件模块,auto_backup/manifest.py)
- Python库:
- paramiko<4.0.0(SSH协议支持)
- pysftp(SFTP文件传输)
- cryptography(数据加密)
安装步骤
-
获取模块代码
git clone https://gitcode.com/GitHub_Trending/se/server-tools cd server-tools/auto_backup -
安装Python依赖
pip3 install pysftp==0.2.9 paramiko<4.0.0 cryptography -
Odoo安装模块
通过Odoo应用市场安装或手动将模块路径添加至addons_path,然后在应用→应用管理中搜索Database Auto-Backup进行安装。
配置指南
基础配置入口
安装完成后,通过菜单设置→数据库结构→自动化备份(auto_backup/README.rst)进入配置界面。系统默认创建名为"Backup Scheduler"的定时任务,每日凌晨3点执行(auto_backup/data/ir_cron.xml)。
备份策略配置
新建备份配置时需设置以下核心参数:
| 参数类别 | 关键配置项 | 说明 |
|---|---|---|
| 数据库信息 | 数据库名称、备份类型(dump/all) | 选择需要备份的数据库,dump仅包含结构,all包含数据和结构 |
| 本地存储 | 本地路径、保留天数 | 如/opt/odoo/backups,超过保留天数的文件将自动删除 |
| 远程存储 | SFTP服务器地址、端口、路径 | 支持通过SSH密钥或密码认证,路径需提前在服务器端创建 |
| 通知设置 | 通知邮箱、失败触发 | 配置接收备份结果的邮箱地址,建议勾选"仅失败时通知"以减少冗余信息 |
权限控制
模块默认对ERP管理员(base.group_erp_manager)开放只读权限,对系统管理员(base.group_system)开放完全操作权限(auto_backup/security/ir.model.access.csv)。如需调整权限,可在设置→安全→权限管理中修改对应规则。
高级功能
SFTP远程备份
配置流程
-
在备份配置表单中启用"远程备份"选项
-
填写SFTP连接信息:
- 服务器地址(如
sftp.example.com) - 端口(默认22)
- 用户名/密码或SSH私钥
- 远程路径(如
/odoo_backups/production)
- 服务器地址(如
-
连接测试
点击表单底部的"测试SFTP连接"按钮验证配置正确性。成功提示如下:连接成功:已成功访问远程目录/odoo_backups/production
安全说明
所有SFTP传输均通过加密通道进行(auto_backup/README.rst),推荐使用SSH密钥认证并限制服务器IP访问权限,确保备份文件传输安全。
定时任务管理
系统默认定时任务配置为每日执行(auto_backup/data/ir_cron.xml),可通过设置→技术→自动化→计划任务修改执行频率:
- interval_number:执行间隔数值(默认1)
- interval_type:间隔单位(days/weeks/months)
- nextcall:下次执行时间
如需为不同数据库配置差异化备份周期,可复制默认定时任务并修改关联的备份配置。
日常运维
手动执行备份
在备份配置列表视图中,通过更多→执行备份按钮可手动触发备份任务(auto_backup/README.rst),适用于版本更新前等特殊场景。
备份文件验证
本地备份文件默认存储路径可在配置中查看,文件命名格式为:
dbname_YYYYMMDD_HHMMSS.dump
建议定期通过以下命令验证备份文件完整性:
odoo-bin --restore -d test_db -f /path/to/backup.dump
日志查看
备份执行日志可在设置→技术→日志→服务器日志中搜索关键词backup查看,典型成功日志如下:
INFO db_backup: Backup completed for database 'prod' (size: 1.2GB)
常见问题解决
权限不足
症状:备份任务失败,日志显示"Permission denied"
解决:
- 检查Odoo运行用户对本地备份目录的写入权限
- SFTP用户需拥有远程目录的读写权限(auto_backup/README.rst)
备份文件过大
症状:备份任务超时或生成文件异常大
解决:
- 启用数据库压缩选项(需Odoo企业版支持)
- 配置分卷备份(通过修改备份脚本实现)
- 考虑使用数据库分区模块(base_partition/)减少单库体积
连接测试失败
排查步骤:
- 验证SFTP服务器地址和端口可达性:
telnet sftp.example.com 22 - 检查防火墙规则是否允许Odoo服务器出站连接
- 测试SFTP credentials独立有效性:
sftp user@example.com
总结与展望
通过auto_backup模块(auto_backup/),管理员可将数据库备份工作完全自动化,结合database_cleanup/模块实现数据生命周期全管理。社区 roadmap 显示未来版本将支持备份文件加密和多区域备份功能,进一步提升数据安全性。
建议定期通过模块的备份报告功能(需配合database_size/模块)分析备份趋势,及时调整存储策略。如有功能需求或问题反馈,可提交issue至项目仓库或参与社区讨论。
点赞+收藏本文,关注后续《Odoo备份恢复实战指南》,深入学习灾难恢复场景下的备份文件使用技巧!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



