fix(backup): 修复本地备份保留修剪静默失效,本地默认保留降到 2 份
bug:prune_local 里 ls 的 cd 只发生在命令替换的子 shell 中,
rm 却拿裸文件名在 PROJECT_ROOT 下执行——目标文件不存在,
而 rm -f 对不存在的文件静默成功。结果是"清理成功"日志照打、
本地备份数量却一直超出 KEEP(生产 configs 目录累积到 43 份,
dump 10 份,均超出 KEEP=7)。
修复:rm 改用 ${dir}/${file} 绝对路径,并补源码级守卫测试锁定。
顺带把 .env.server.example 的默认保留从 7 降到 2:
本地备份只是断网应急,OSS 已有完整备份;而部署脚本的磁盘预检
要求 可用 ≥ 备份目录×2,本地留太多会直接把部署卡死
(这次就是 3.8G 备份触发预检失败 → 被迫清构建缓存 → 全量构建变慢)。
This commit is contained in:
+3
-1
@@ -85,7 +85,9 @@ STORAGE_OSS_REGION=oss-cn-hangzhou
|
||||
# 默认复用上面的 STORAGE_OSS_* 上传到同桶 backups/ 前缀,以下仅需按需调整。
|
||||
DB_BACKUP_OSS_PREFIX=backups/postgres
|
||||
# 服务器本地保留的备份份数(OSS 端过期请配置桶生命周期规则)
|
||||
DB_BACKUP_KEEP=7
|
||||
# 本地只是断网应急用,OSS 已有完整备份;而 deploy 脚本的磁盘预检要求
|
||||
# 可用 >= 备份目录x2,本地留太多会把部署卡死(49G 盘建议不超过 2~3 份)。
|
||||
DB_BACKUP_KEEP=2
|
||||
# 建议为备份单独创建 RAM 用户、只授予 backups/ 前缀权限(策略见 docs/数据库备份与恢复.md);
|
||||
# 使用独立桶/密钥时取消注释覆盖:
|
||||
# DB_BACKUP_OSS_ENDPOINT=https://oss-cn-hangzhou-internal.aliyuncs.com
|
||||
|
||||
Reference in New Issue
Block a user