Linux 下使用shell脚本定时维护数据库的案例

疫情期间哪哪也不能在,天天在家宅着快闷出病了,今天跟着韩顺平老师的视频学了一个星期的Linux基础命令和shell编程之后,做了一个shell脚本定时维护数据库的案例,用于之后复习和应用。

脚本需求如下:

Linux 下使用shell脚本定时维护数据库的案例

#数据库定时备份
#备份路径
BACKUP=/data/backup/db
#获取当前时间作为文件名
DATETIME=$(date +%Y_%m_%d_%H%M%S)

echo “=开始备份=”
echo ‘备份的路径是 BACKUP/BACKUP/BACKUP/DATETIME.tar.gz'

#主机
HOST=localhost
#用户名
DB_USER=root
DB_PWD=root
DATABASE=myDB
#创建备份路径
[ ! -d “BACKUP/BACKUP/BACKUP/DATETIME” ] && mkdir -p “BACKUP/BACKUP/BACKUP/DATETIME”
#执行mysql的备份数据库的指令
mysqldump -uDBUSER−p{DB_USER} -pDBU​SER−p{DB_PWD} --host=$HOST $DATABASE | gzip > BACKUP/BACKUP/BACKUP/DATETIME/$DATETIME.sql.gz
#打包备份文件
cd $BACKUP
tar -zcvf $DATETIME.tar.gz $DATETIME
#删除临时目录
rm -rf BACKUP/BACKUP/BACKUP/DATETIME

#删除10天之前的备份文件
find $BACKUP -mtime +10 -name “*.tar.gz” -exec rm -rf {} ;
echo “备份成功”

Linux 下使用shell脚本定时维护数据库的案例

最后

用crontab -e 指令添加定时任务
10 2 * * * /usr/sbin/mysql_db_backup.sh

最后就完成了shell脚本!

总结