Redis RDB快照文件不能直接删除因为可能误删正在写入的temp-*.rdb临时文件或尚未加载确认的有效快照导致数据恢复失败安全清理需结合INFO persistence状态、排除当前文件及临时文件并按时间如-mmin精确筛选。Redis RDB快照文件为什么不能直接删因为 redis.conf 里 dbfilename 和 dir 共同决定了当前正在写入的 RDB 文件路径但 Redis 不会自动管理历史快照——它只管覆盖或新建不管旧文件。直接用 rm *.rdb 可能误删正在被 SAVE 或 BGSAVE 写入的临时文件比如 temp-12345.rdb也可能删掉还没被主进程加载确认的上一份快照导致恢复失败。真正安全的做法是只清理「已确认完成、且超过保留时限」的快照且避开 Redis 正在操作的文件名模式。redis-cli INFO persistence 中的 rdb_last_save_time 和 rdb_bgsave_in_progress 是判断依据Redis 进程启动时会读取 dbfilename 指定的文件所以那个文件一定不能删临时文件名通常是 temp-*.rdb必须跳过Shell 脚本怎么安全识别可删除的 RDB 文件核心逻辑不是“找 .rdb 后缀”而是“找符合命名规则 时间戳可解析 不在 Redis 当前使用列表中”的文件。推荐用 find 配合 -name 和 -mtime但要注意别用 -mtime 7 算“7天前”它按 24 小时整数倍截断可能漏掉刚过 6 天 23 小时的文件改用 -mmin 10080精确到分钟更稳必须排除 temp-*.rdb 和 dump.rdb默认 dbfilename 值——后者是当前有效快照如果改过 dbfilename比如设成 myapp.rdb脚本里得同步更新排除名单示例片段假设 dir /var/lib/redis保留最近 3 天 Bolt.new Bolt.new是一个免费的AI全栈开发工具