欢迎拍砖,详细内容如下:
# MYSQL 数据文件路径
MYSQL_DATA_PATH="/usr/local/mysql/data/"
# 备份目录
MYSQL_DUMP_PATH="***/DB/"
# 备份用户名
MYSQL_ACCOUNT="mysql_backup"
# 备份密码
MYSQL_PASSWORD="mysql_backup"
MYSQLDUMP_OPTS="mysqldump -u$MYSQL_ACCOUNT -p$MYSQL_PASSWORD --single-transaction"
# 压缩命令 bzip2 -k 保留源文件
TAR_OPTS="bzip2 "
# 单个数据库进行备份
function BackDB(){
FULLPATH="$1"
#遍历目录
for dbName in $(/bin/ls $FULLPATH)
do
# check is database
fileType=`/usr/bin/file $FULLPATH$dbName | /bin/awk '{FS=":"} {printf $2}'`
# 文件夹的类型为directory
if [ "directory" == $fileType ]; then
# start dump
if [ "$dbName" == "mysql" ] \
|| [ "$dbName" == "test" ] \
|| [ "$dbName" == "information_schema" ] \
|| [ "$dbName" == "performance_schema" ]; then
echo "------------->$dbName not need dump!!"
else
echo $dbName
dumpName=$MYSQL_DUMP_PATH/"$dbName"_"$DATESTR"
$MYSQLDUMP_OPTS $dbName > "$dumpName".sql
# 压缩备份档
$TAR_OPTS "$BACKUP_NAME".sql
fi
else
printf '%s is not database ######## \n' $dbName
fi
done
}
# 每个数据表单独备份
function BackDBTB(){
FULLPATH="$1"
#遍历目录
for fName in $(/usr/bin/find $FULLPATH -name "*.ibd")
do
dbPath=`echo "$fName" | /bin/awk 'BEGIN {FS="'$FULLPATH'"} {printf $2}'`
# get database name
dbName=`echo "$dbPath" | /bin/awk 'BEGIN {FS="/"} {printf $1}'`
# get table name
tbName=`echo "$dbPath" | /bin/awk 'BEGIN {FS="/"} {printf $2}'`
# start dump
if [ "$dbName" == "mysql" ]\
|| [ "$dbName" == "test" ] \
|| [ "$dbName" == "information_schema" ] \
|| [ "$dbName" == "performance_schema" ]; then
echo "------------->$dbName not need dump!!"
else
echo $dbName $tbName
dumpName=$MYSQL_DUMP_PATH/"$dbName"_"$tbName"_"$DATESTR"
$MYSQLDUMP_OPTS $dbName $tbName > "$dumpName".sql
# 压缩备份档
$TAR_OPTS "$dumpName".sql
fi
done
}
分享到:
相关推荐
Linux下定时备份MySQL数据库的Shell脚本.pdf
Linux下mysql数据库备份以及恢复shell脚本
linux服务器上,自己做所有数据库备份脚本方法,先打包在保存
今天这个备份分二个版本一个是linux上直接安装的mysql,另一种是docker上安装的mysql。基本操作都一样只是备份sql语句不同而已。可以选择设置需要备份的库,自动备份压缩,自动删除 7 天前的备份,需要使用 crontab ...
防止误删服务器数据库 ,使用Shell脚本备份数据库: ### 1、需求分析: 1)每天凌晨2:10备份数据库atguiguDB到/data/backup/db 2)备份开始和备份结束能够给出相应的提示信息 3)备份后的文件要求以备份时间为...
主要介绍了Linux shell实现每天定时备份mysql数据库的代码,分享给大家,希望大家能够喜欢。
linux系统通过shell脚本,备份mysql数据库,并通过定时任务的配置,每天在设定的时间内执行备份计划
在linux下方便的备份mysql数据库的脚本。
这是一个十分好用的Linux脚本,适合对管理MySQL数据库的网络管理员使用,可以实现自动异地备份数据库数据。
mysql数据库定期自动备份的shell脚本。如定期每三天自动备份数据库,并只保存20份备份文件,多余的删除。
两个linux下mysql数据库备份脚本,带压缩功能,定时删除,附带脚本说明,运维必知的,自己上传防止丢失,经典脚本,因为百度有很多表述不清,所以自己总结了这些脚本,作为个人知识库,分享给所有人
(UNIX、Linux)MySql数据库全量备份和增量备份处理脚本,以及从ftp自动拷贝备份文件(完整操作,附带shell脚本)
下面这段Linux的Shell脚本用于每日自动备份MySQL数据库,可通过Linux的crontab每天定时执行
里面有完整的保存数据库脚本的方法,还有crontab的写入,很好的脚本程序
网上已经有部分关于Linux下定期备份mysql的方法,但是很多步骤不够详细,不适合新手,自己琢磨了很久,终于搞定了。 1.Linux服务器一般是ssh协议,如果本地也是Linux环境,可以直接通过shell连接,命令: ssh...
mysql数据库每天凌晨3点备份数据库的脚本,带具体命令参数注释,稍微修改即可使用。需配合linux的定时任务命令
注意: ...此脚本利用mysqldump命令,mysqldump命令是mysql数据库中备份工具,用于将MySQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中。配合 crontab命令 实现自动备份。 知识扩展 my
该包中包含一键安装mysql5.7和mysql8.0脚本,分为mysql二进制包安装和yum安装,并一起部署MySQL备份策略 用于快速部署mysql场景,适合多项目快速部署 备份工具为xtrabackup