请问tidb每天生成的sql和csv格式备份是什么工具生成的?

每天20:00自动备份,但是在crontab里没有任务,请问这是什么工具实现的自动备份,难道是写进了存储过程里了吗?这是以前的人安装的Tidb,我是刚接收,想找出这个备份是怎么实现的。

[tidb@1 tibak]$ ll
drwxrwxr-x 2 tidb tidb 126976 Dec 14 20:12 20241214
drwxrwxr-x 2 tidb tidb 126976 Dec 15 20:14 20241215

[tidb@1 tibak]$ ll 20241215 |more
total 4029288
-rw-rw-r-- 1 tidb tidb 2711 Dec 15 20:10 db-dev.input_record-schema.sql
-rw-rw-r-- 1 tidb tidb 3080 Dec 15 20:10 db-dev.send_record-schema.sql
-rw-rw-r-- 1 tidb tidb 726 Dec 15 20:10 db-dev.sign_record-schema.sql
-rw-rw-r-- 1 tidb tidb 689 Dec 15 20:10 db-dev.t_dialysis.000000000.csv

[tidb@1 ~]$ crontab -l
You (tidb) are not allowed to use this program (crontab)
See crontab(1) for more information

[tidb@1 ~]$ more /etc/fstab |grep data
UUID=e1eb9rc8-cbdb-4202-a5ff-a3696e7c1550 /data ext4 defaults,nodelalloc,noatime 0 2

这个应该是通过dumpling备份出来的

dumpling,但是crontab没有定时任务是从哪调用的。。。。

这定时任务不知道是怎么实现的,tidb社区版不是不支持存储过程吗?

可以查看这个磁盘是否是网络外挂磁盘,或者是否有at或batch等其他方式设置的定时任务。

1 个赞

这个是虚拟机添加的一块磁盘,用来存放tidb安装的数据目录的。然后备份与放在这个目录下了。

那就根据备份时候的连接信息反向找

是不是别的用户的crontab?

远程服务器也可以呀。只要能连接上去的都可以执行命令吧。

备份语句大概率会是慢SQL吧,看看哪个地址连进来的。而且我看你是用tidb用户下看的crontab,没准是在其他用户比如root下做的定时任务

看下数据文件生成的时间,在这个时间前后时间每秒(或其他时间粒度)执行监控ps aux|grep tibak >>log.txt,查看什么用户以及进程使用该目录,应该可以找到执行备份的程序以及目录。

8点的时候到8点10分,你在Dashboard里面看看慢查询 或者流量可视化,看看有没有对应的查询,或者读数据很大的信息,然后找找看对应的链接地址

1 个赞

1、看属组是tidb,说明大概率是tidb用户执行的;
2、dumpling只能在客户端生成备份文件,说明大概率是本机;
3、看备份的时间是每天一次,可以看下cron.daily目录下有没有备份脚本。

检查了没有。我按楼上面的兄弟说的写了一个ps -aux监控进程的脚本,20点10分钟应该能看出来是什么来。

tidb 1513397 1513393 0 20:09 ? 00:00:00 ps -ef
tidb 1513702 35.5 0.5 2108928 84224 ? Sl 20:10 0:00 /home/tidb/.tiup/components/dumpling/v7.5.1/dumpling -uroot -P 4000 -h localhost -o /data/bak/tibak/
20241216 --filetype csv -p *******
tidb 1513817 0.0 0.0 214016 1536 ? S 20:10 0:00 grep -i tibak

只能看到是dumping命令备份的,但无法查到是用的什么定时任务工具。

不一定是crontab,有可能是其他的调度平台,问问同事,有没有其他的调度工具在使用的,排查一下

dumpling,也可以看看cat /etc/crontab文件是不是有定时任务

看起来就是tidb用户执行的。
看看是不是其他用户上建的crontab

你看看root用户的crontab

1 个赞

没有的。这个不是crontab调用的,如果是crontab调用ps -ef就会显示有bash sh -c 这样的字眼。这应该是从其它的工具调用的,带自动定时任务,比如第三方备份软件。
不知道tidb有没有那种定时任务job。