MySQL命令–备份和恢复数据库的Shell脚本
简介
备份mysql数据库是很必要的,这里写一个可以备份数据库的shell脚本,可以将数据库进行备份,并自动添加日期。
Shell脚本
下边的文件我放到mysql docker容器的/bak/文件夹下。
备份
新建一个backup_db.sh,内容如下:
#/bin/bash
# 用法1:用默认的备份路径
# ./backup_db.sh dbName
#
# 用法2:用指定的备份路径
# ./backup_db.sh dbName /bak/perm/
dbName=$1
dateStr=`date +%Y%m%d_%H%M%S`
backupPath=/bak/
if [ $# -eq 2 ]
then
backupPath=$2
fi
if [ ! -e ${backupPath} ]
then
mkdir -p ${backupPath}
fi
fileName=${backupPath}${dbName}’_’${dateStr}’.sql’
mysqldump -uadmin -pcode9510. ${dbName} > ${fileName}
echo ${dbName}’已备份到’${fileName}
用法1:用默认的备份路径./backup_db.sh dbName
用法2:用指定的备份路径 ./backup_db.sh dbName /bak/perm/
恢复
新建一个recover_db.sh,内容如下:
#/bin/bash
# 用法:./recover_db.sh dbName dbName_xxx.sql
dbName=$1
dbBackupFileName=$2
dateStr=`date +%Y%m%d_%H%M%S`
fileName=’/bak/’${dbBackupFileName}
mysql -uadmin -pxxx ${dbName} < ${fileName}
echo ${dbName}’已从此文件恢复:’${fileName}
用法
./recover_db.sh dbName dbName_xxx.sql
快捷调用
上边的脚本是直接执行的mysql命令,如果它在docker,不好执行,再写一个脚本去调用它。
下边的文件我放在:/work/quick/文件夹。
备份
db_backup.sh
#/bin/bash
# 没有参数,或者参数为 –help 或 -h
if [[ $# -lt 1 || $1 == “–help” || $1 == “-h” ]]; then
# 如果是,则打印用法
echo “Usage: db_backup.sh [dbName] <containerInnerPath>”
echo ” eg1: ./db_backup.sh dbName”
echo ” eg2: ./db_backup.sh dbName /bak/perm/”
exit 0
fi
dbName=$1
backupPath=/bak/
if [ $# -eq 2 ]
then
backupPath=$2
fi
docker exec mysql8 bash -c ‘/bak/backup_db.sh ‘${dbName}’ ‘${backupPath}
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
7. 本站有不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别!
66源码网 » MySQL命令–备份和恢复数据库的Shell脚本