使用tiup br log truncate 清理过期日志失败

【TiDB 使用环境】生产环境 /测试/ Poc
【TiDB 版本】v7.1.3

【遇到的问题:问题现象及影响】
使用tiup br log truncate 清理过期日志,脚本一直显示需要清理的日志文件为0,导致大量过期的文件累积,请问可能是什么原因。

脚本是确定没问题的,之前有一段时间是能够正常清理的,现在一直显示没有文件需要删除,但实际上有很多过期的文件,也没有任何报错信息。

【其他附件:截图/日志/监控】

1 个赞

貌似是已知bug,https://github.com/pingcap/tidb/commit/aff0c3693f11dacd68525423af9d7187a45b9a82

1 个赞

存储路径配置是否一致? 如果有bug最好升级一下

1 个赞

看了下没明白,能更具体说下怎么解决么。

1 个赞

从这个问题可以延伸出很多思考,感谢楼主抛砖引玉。

是因为路径的问题吗?

1 个赞

查看 BR 备份 / 恢复时的日志路径配置(可通过历史执行命令或集群配置记录确认)

1 个赞

验证一下备份的有效性

1 个赞

路径有问题吧

2 个赞

看日志都是提示,删除了0个内容啊

1 个赞

是否有使用CDC,或者长事务

1 个赞

排查方法:

  1. 执行 tiup br log truncate --help 确认参数格式,补全必要参数:

bash

运行

tiup br log truncate --until "2025-12-25 00:00:00 +0800" -s "local:///tidb-data/tikv/logs"  # 明确时区(+0800为CST)和存储路径
  1. 检查系统时间:执行 date 确认服务器时间与集群时间一致,排除时间跳变导致的条件不匹配。
1 个赞

建议先验证备份有效性,再排查失败原因:检查 BR 工具版本与 TiDB 集群适配性、执行权限及日志清理范围,查看报错日志获取具体信息,也可尝试重新执行命令并指定 --log-file 输出详细日志。

1 个赞

元数据文件缺失或不一致

路径没问题

实际上有很多过期的文件

有cdc,无长事务

  1. 参数没问题,之前很长一段使劲运行正常
  2. 时间没问题,集群内部有时间同步,清除脚本运行集群机器上

建议先运行br log status并检查GC Safe Point 。

使用 --dry-run 参数查看 BR 到底“看到”了哪些文件,这能帮你判断是逻辑问题还是文件不存在问题。 tiup br log truncate --until=“2023-01-01 00:00:00” --storage=“s3://your-bucket/logbackup” --dry-run