Linux实现MySQL数据库备份

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38712932/article/details/89375680

 今天用navicat的时候想把阿里云数据库上面的数据全部转移到本地数据库,在navicat操作时,本来是打算点复制的,不小心点成删除了,结果navicat直接删除所有表了,都不给机会提示是否删除的,不过好在我写了shell备份数据库的脚本,每天凌晨三点给我备份一次,所以直接通过备份的脚本来恢复数据库。

这个脚本是看尚硅谷的Linux视频写的脚本,分享一下: 

#!/bin/sh
#定义备份的路径
BACKUP=/root/data

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


echo "=============开始备份=============="
echo "备份的路径是$BACKUP/$DATETIME.tar.gz"

#定义主机,用户,密码
HOST=localhost
DB_USER=***
DB_PASSWORD=***

#备份数据库名
DATABASE=blog


#创建备份的路径
#如果备份的路径文件夹存在,就使用,否则就创建
[ ! -d "$BACKUP/$DATETIME" ] && mkdir -p "$BACKUP/$DATETIME"

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


#打包备份文件
cd $BACKUP
tar -zcvf $DATETIME.tar.gz $DATETIME
#删除临时目录
rm -rf $BACKUP/$DATETIME

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

猜你喜欢

转载自blog.csdn.net/qq_38712932/article/details/89375680