Linux 下使用shell脚本定时维护数据库的案例
2021-05-08 本文已影响0人
s1mple
image.png
#数据库定时备份
#备份路径
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 “备份成功”
image.png
最后
用crontab -e 指令添加定时任务
10 2 * * * /usr/sbin/mysql_db_backup.sh
最后就完成了shell脚本!