shell脚本编程——mysql数据库备份

shell可以做一些繁杂且重复的事,用来做数据库备份很合适

代码如下

#!/bin/bash

#主机
HOST=localhost
#用户名
DB_USER=root
#密码
DB_PWD=adminadmin
#数据库
DBTABASE=gitea

#备份目录
BACKUP=/root/shell/db

#当前时间作为文件名
DATETIME=$(date +%Y_%m_%d_%H%M%S)


#创建备份的路径
[ ! -d "$BACKUP/$DATETIME" ] && mkdir -p "$BACKUP/$DATETIME"
echo “备份路径$BACKUP/$DATETIME 创建成功”

#执行mysql的备份数据库指令
mysqldump -u${DB_USER} -p${DB_PWD} --host=$HOST $DATABASE | gzip > $BACKUP/$DATETIME/$DATETIME.sql.gz
echo "备份数据库文件$BACKUP/$DATETIME/$DATETIME.sql.gz 成功"

#打包备份文件
cd $BACKUP
tar -zcvf $DATETIME.tar.gz $DATETIME
echo "打包成$DATETIME.tar.gz 成功"

#删除临时目录
rm -rf $BACKUP/$DATETIME
echo "删除临时目录$BACKUP/$DATETIME 成功"

#删除10天前的备份数据
find $BACKUP -mtime +10 -iname "*.tar.gz" -exec rm -rf {} \;
echo "删除$BACKUP目录10天前的备份*.tar.gz数据成功"
echo "================备份文件成功==============="

再加入linux  cron定时任务中,可以实现定时备份数据,而且删除十天前的数据

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章