如何解决Odoo数据库备份报错[Errno 28] No space left on device问题
Odoo带filestore备份提示Errno 28空间不足解决方案
你遇到的报错根源是Odoo备份默认使用系统/tmp目录存储临时备份文件,你的服务器/tmp挂载在tmpfs(内存文件系统)下,总容量仅3.9G,当备份包(含filestore)大小超过该阈值时就会触发空间不足错误,和根磁盘剩余空间无关。
解决方案1:临时扩容tmpfs(单次备份用,重启后失效)
执行以下命令临时调整/tmp分区大小,容量可根据你的备份文件大小调整(建议比备份包大2G以上):
mount -o remount,size=20G /tmp
备份完成后可执行以下命令还原默认容量,或直接重启服务器自动恢复:
mount -o remount,size=3.9G /tmp
解决方案2:修改Odoo配置指定临时目录(永久生效,推荐)
- 打开Odoo配置文件(默认路径通常为
/etc/odoo.conf) - 在配置文件中新增配置项,指定空间充足的目录作为Odoo临时目录:
temp_path = /opt/odoo/tmp - 提前创建对应目录并授予Odoo运行用户读写权限:
mkdir -p /opt/odoo/tmp chown odoo:odoo /opt/odoo/tmp - 重启Odoo服务后生效,后续所有备份操作都会将临时文件写入指定目录,不再占用
/tmp空间
解决方案3:单次备份临时指定临时目录
如果仅需执行单次备份,可在执行备份命令前先执行以下命令临时修改当前会话的临时目录路径:
export TMPDIR=/opt/odoo/tmp
该配置仅对当前终端会话生效,不会修改系统或Odoo的默认配置。
内容的提问来源于stack exchange,提问作者A.Sasori
相关产品推荐
相关产品推荐

