目录
- shell 删除脚本
- 命令解析
环境: | linux |
容器: | docker |
前提: 继上次讲述如何备份线上数据库之后,我们来看如何删除多余的dump备份文件
参考:linux写shell脚本备份线上数据库(备份为dump文件)
背景: 我们每天定时备份线上数据库为dump文件,久而久之就会有几十个几百个dump文件,太长时间的我们也不需要,一个一个删除很麻烦,所以就需要执行shell脚本命令,一次性帮我们删除不需要的dump文件。
shell 删除脚本
命令如下:
#删除最后修改时间大于10天数据库备份文件
echo "delete dump file begin!"
find /xx/xx/pgdumpFile -mtime +3 -name "aaa_*.dump" -exec rm -rf {} \;
echo "delete dump file successfully!"
执行命令:
进入当前shell脚本(假设叫deleteDump.sh)所在的绝对路径下,输入:
bash deleteDump.sh
命令解析
此命令使用find
命令来查找并删除文件。它的各个参数的含义如下:
/xx/xx/pgdumpFile
:这是find
命令搜索的目录(也就是dump文件所在宿主机下的绝对路径)。-mtime +3
:这个参数用于查找那些修改时间超过3天的文件。-name "aaa_*.dump"
:这个参数用于过滤文件名,只查找那些以aaa_
开头并以.dump
结尾的文件。-exec rm -rf {} \;
:这个参数用于对每个找到的文件执行rm -rf
命令,即删除这些文件。{}
是一个占位符,代表find
命令找到的每个文件,而\;
是-exec
参数的结束标记。