鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 服务器相关 > 批处理 > >

mysqldump数据库一个表一个文件备份脚本

来源:互联网 作者:佚名 时间:2016-03-03 12:13
mysql数据库备份脚本,每张表生成一个文件,方便单表的数据恢复。第一次发代码。不足之处请指出 SHELL MYSQL备份 #!/bin/bashfunction backup(){HOST=$1 USERNAME=$2 PASSWD=$3DBNAME=$4BACKUPDIR=$5TAG=$6#在备份路径生成tmp目录mkdir -p "$BACKUPDIR"tmpNUM
mysql数据库备份脚本,每张表生成一个文件,方便单表的数据恢复。第一次发代码。不足之处请指出 SHELL MYSQL备份
#!/bin/bash

function backup(){
HOST=$1 
USERNAME=$2 
PASSWD=$3
DBNAME=$4
BACKUPDIR=$5
TAG=$6
#在备份路径生成tmp目录
mkdir -p  "$BACKUPDIR"tmp
NUM=`/usr/local/mysql/bin/mysql -h"$HOST" -u"$USERNAME" -p"$PASSWD"  -s -vv -e "show tables" -D "$DBNAME"|wc -l`
HEADNUM=`expr ${NUM} - 3`
TAILNUM=`expr ${NUM} - 7`
ARR1=`/usr/local/mysql/bin/mysql -h"$HOST" -u"$USERNAME" -p"$PASSWD" -s -vv -e "show tables" -D "$DBNAME"| head -n"$HEADNUM" | tail -n "$TAILNUM"`
ARR2=($ARR1)
i=0
while [ "$i" -lt "${#ARR2[@]}" ]
do
tmpFileName=${ARR2[$i]}

/usr/local/mysql/bin/mysqldump -h"$HOST" -u$USERNAME -p"$PASSWD" "$DBNAME" "$tmpFileName" > "$BACKUPDIR"tmp/"$tmpFileName"
let "i++"
done
#打包数据库
tar czvf "$BACKUPDIR"/"$TAG"`date '+%Y%m%d'`.tgz "$BACKUPDIR"tmp/*
#删除临时TMP目录
rm -rf "$BACKUPDIR"tmp
}
#调用方法说明 backup 数据库IP 数据库用户名 密码 DATABASE 备份路径(请以/结尾) 打包标识
上一篇:TOMCAT管理脚本
下一篇:常用vbs
网友评论
<