一、先建立shell脚本目录

mkdir /root/.scripts/

二、编写shell脚本

[root@liuguohua.com ~]# more /root/.scripts/mysql_backup.sh
#!/bin/bash
#write by 刘国华教育 at 2025-2-14

#数据库信息
Db_Host=127.0.0.1
Db_User=root
Db_Pwd=ZhongHao@16300

#数据库名称多个用空格隔开
Db_Names=(db1 db2 db3)

#备份存放路径
Backup_Dir=/opt/db_bak

#备份命名所使用的日期格式
Db_Data=$(date +%Y%m%d_%H%M%S)

###判断存放目录是否存在####
if [ ! -d $Backup_Dir ]
then
mkdir -p $Backup_Dir
fi

#清理15天前的备份
find $Backup_Dir -name $DbName"*.gz" -type f -mtime +15 -exec rm -rf {} \; > /dev/null 2>&1

for DbName in ${Db_Names[*]}
do
BakFile=$DbName-$Db_Data.sql.gz
/usr/bin/mysqldump -h$Db_Host -p3306 -u$Db_User -p$Db_Pwd --databases $DbName | gzip > $Backup_Dir/$BakFile
done

三、放到计划任务里

[root@liuguohua.com ~]# chmod +x /root/.scripts/mysql_backup.sh
[root@liuguohua.com ~]# crontab -e
0 4 * * * /root/.scripts/mysql_backup.sh >>/opt/db_bak/mysql_backup.log 2>&1
声明:欢迎大家光临本站,学习IT运维技术,转载本站内容,请注明内容出处”来源刘国华教育“。如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。