请问br备份truncate清理日志备份,为什么还有残余?

请问br备份truncate清理日志备份,为什么还有删除归档日志文件?
https://docs.pingcap.com/zh/tidb/stable/br-pitr-guide/

清理该快照备份 FULL_BACKUP_TS 之前的日志备份数据。
tiup br log truncate --until=${FULL_BACKUP_TS} --storage=‘s3://backup-101/logbackup?access-key=${access-key}&secret-access-key=${secret-access-key}’

按上面这个命令写的备份脚本,最后发现提示清理了日志文件,但还有残余 。

清理1月19号日志:
[tidb@1 v1]$ tiup br log truncate --until=${full_backup_ts} --storage=“$log_path” -y
Checking updates for component br… Timedout (after 2s)
Starting component br: /home/tidb/.tiup/components/br/v7.5.1/br log truncate --until=455421986616901633 --storage=/backup/tidb/log -y
Detail BR log in /tmp/br.log.2025-03-05T10.40.21+0800
Reading Metadata… DONE { take = 56.139s }
We are going to remove 1580 files, until 2025-01-19 22:30:07.0530.
Clearing Data Files and Metadata :: DONE { take = 37.391s, kv-count = 466056, kv-size = 17098512(17.1MB) }

[tidb@1 v1]$ du -sh /backup/tidb/log/v1/20250119
2.5M /backup/tidb/log/v1/20250119

[tidb@1 v1]$ du -sh /backup/tidb/log/v1/20250120
109M /backup/tidb/log/v1/20250120
[tidb@1 v1]$ du -sh /backup/tidb/log/v1/20250118
404K /backup/tidb/log/v1/20250118
[tidb@1 v1]$ du -sh /backup/tidb/log/v1/20250117
452K /backup/tidb/log/v1/20250117

我觉得br现在安全不需要tiup br log truncate,这个命令在增量备份上适合,每天都做全备完全不需要了。
直接使用以下命令清理日志:
find $log_path/ -maxdepth 2 -type d -mtime +31 |xargs rm -rf

按理来讲应该会全部清理掉不需要的数据的,就提供的信息没办法确定是因为什么原因意外留下了少量数据,不过数据量不大的话不管它或者(最好等一段时间后再)手动清理掉都是可以的。

但是不建议略过 br log truncate 直接删除 v1/{date}/ 下的文件,因为这样并没有清理掉 metadata(v1/backupmeta/),长此以往 metadata 堆积越来越多可能会对恢复造成不利影响:现有实现里即便是恢复比较短时间内的 log backup 也需要读取所有 metadata。

(在 POSIX FS 上用 find 根据 modify time 删除或许可行,但是在边界处会有一些误删的风险,因为文件的创建时间和事务提交的时间戳不一定相同,同时因为不会更新元信息,可能导致试图恢复已经被删掉的区间的时候无法获得提示,总体上看还是不太建议这么弄……)

1 个赞

谢谢,刚看了下,是清理了,剩下的都是一些各个时间段命名的空的文件夹,文件夹也有大小,所以du -sh 看起来有400多K。

我也遇到了这个问题,我是往对象存储上面备份的。我们的解决办法是配置对象生命周期 :joy:

1 个赞

你们搞的太复杂了,最简单的方法就是向tidb提建议,tidb无所不能,可以在下个版本修复这个清空日志顺带删除空文件夹的问题。

1 个赞

你也许没用过对象存储 :upside_down_face:

我用过亚马逊aws,用来存放博客图片, nas图片,但是没用来存tidb,那时候还没有国产数据库。

一般来说是只会删除文件,不会删除目录。

:joy:没想到目录还能站这么多空间。

我也遇到同样的问题,用br去删除在线日志,貌似不生效的样子,看来只能用find找出然后用rm物理删除了

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。