Linux 下使用shell脚本定时维护数据库的案例
疫情期间哪哪也不能在,天天在家宅着快闷出病了,今天跟着韩顺平老师的视频学了一个星期的Linux基础命令和shell编程之后,做了一个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} -pDBUSER−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 “备份成功”
最后
用crontab -e 指令添加定时任务
10 2 * * * /usr/sbin/mysql_db_backup.sh
最后就完成了shell脚本!
总结