mysql自动dump脚本_MySQL--简单mysqldump脚本
内容如下:
#!/bin/bash
DATE=`date '+%Y%m%d'`
TIME=`date '+%H%M%S'`
BAK_CMD="/data/mysql3306/bin/mysqldump -uroot -proot -hlocalhost -P3306 --default-character-set=utf8 --master-data=2 --single-transaction "
DB_NAME="shop_zp"
DIR_NAME="/data/mysqlbak/db_bak/table_bak/"
#选择备份数据库名
printf "请输入备份数据库名,默认[${DB_NAME}],同时备份多个库格式[db_name1 db_name2]:\n"
while read BAK_DB_NAME
do
case ${BAK_DB_NAME} in
'Q'|'exit'|'q')
printf "退出备份程序,备份结束[`date '+%Y/%m/%d %H:%M:%S'`] ... \n"
exit
;;
*)
if [ "`echo ^${BAK_DB_NAME}`" = "^" ]; then
BAK_DB_NAME=${DB_NAME}
fi
break
;;
esac
done
printf "(#提示:你输入备份数据库名是[${BAK_DB_NAME}].)\n"
#输入备份的表名
printf "请输入备份的表名,单表即表名,多表格式[table1 table2 table3],全库或多库备份请直接回车:\n"
while read BAK_TABLE_NAME
do
case ${BAK_TABLE_NAME} in
'Q'|'exit'|'q')
printf "退出备份程序,备份结束[`date '+%Y/%m/%d %H:%M:%S'`] ... \n"
exit
;;
*)
if [ "`echo ^${BAK_TABLE_NAME}`" = "^" ]; then
BAK_TABLE_NAME="ALL"
fi
break
;;
esac
done
printf "(#提示:你输入备份的表名是[${BAK_TABLE_NAME}].)\n"
#输入备份的目录
printf "输入备份的目录,默认[${DIR_NAME}],注意路径以"/"结束:\n"
while read TMP
do
case ${TMP} in
'Q'|'exit'|'q')
printf "退出备份程序,备份结束[`date '+%Y/%m/%d %H:%M:%S'`] ... \n"
exit
;;
*)
if [ "`echo ^${TMP}`" = "^" ]; then
TMP=${DIR_NAME}
fi
if [ ! -d ${TMP} ]; then
printf "备份目录[${TMP}]不存在... \n"
printf "请输入备份目录,默认[${DIR_NAME}]:\n"
else
BAK_DIR_NAME=${TMP}
break
fi
;;
esac
done
unset TMP
printf "(#提示:你输入备份目录是[${BAK_DIR_NAME}].)\n"
#开始执行相应级别备份脚本
T_NAME=`echo "${DATE}_${BAK_DB_NAME}@${BAK_TABLE_NAME}_${TIME}.sql"|sed "s/ /@/g"`
if [ ${BAK_TABLE_NAME} == ALL ];then
printf "\n开始备份[${BAK_DB_NAME}]数据库[`date '+%Y/%m/%d %H:%M:%S'`] ... \n"
${BAK_CMD} --databases ${BAK_DB_NAME} > ${BAK_DIR_NAME}${T_NAME}
else
printf "\n开始备份[${BAK_DB_NAME}]数据库[${BAK_TABLE_NAME}]表[`date '+%Y/%m/%d %H:%M:%S'`] ... \n"
${BAK_CMD} --databases ${BAK_DB_NAME} --tables ${BAK_TABLE_NAME} > ${BAK_DIR_NAME}${T_NAME}
fi
printf "备份完成,备份文件[${BAK_DIR_NAME}${T_NAME}] ...大小为[`du -k ${BAK_DIR_NAME}${T_NAME} | awk '{printf $1}'` Kbytes]\n"
mysql自动dump脚本_MySQL--简单mysqldump脚本相关推荐
- ubuntu mysql自动补全_mysql自动化安装脚本(ubuntu and centos64)
Ubuntu Mysql自动化安装脚本 #/bin/bash function hasDpkg { r=`dpkg -l | grep "$1"` if [ -n "$r ...
- mysql 5.7巡检脚本_mysql自动化巡检脚本生成html报告
一. 前言 1.之前出了一篇oracle自动巡检脚本生成html报告和一篇Linux服务器系统自动巡检脚本生成html报告,本篇文章出一篇mysql自动巡检脚本生成html报告. 2.脚本只提供部分简 ...
- mysql定时异地备份_MYsql 异地备份脚本
MYsql 异地备份脚本 在异地的服务器备份Mysql时,异地的服务器没有安装Mysql数据库,备份的mysqldump命令是不能生效的.所以可以把安装mysql数据库所在服务器中的mysqldump ...
- mysql 异地备份脚本_MySQL异地备份脚本
在异地的服务器备份Mysql时,异地的服务器没有安装Mysql数据库,备份的mysqldump命令是不能生效的.所以可以把安装mysql数据库所 在异地的服务器备份Mysql时,异地的服务器没有安装M ...
- mysql dump 数据库_MySQL使用mysqldump备份数据库
在本教程中,您将学习如何使用mysqldump工具备份MySQL数据库. MySQL GUI工具(如phpMyAdmin,SQLyog等)通常为备份MySQL数据库提供了方便的功能. 但是,如果您的数 ...
- 阿里云 mysql自动备份数据库_MySQL定时备份数据库(全库备份)
一.MySQL数据备份 1.1. mysqldump命令备份数据 在MySQL中提供了命令行导出数据库数据以及文件的一种方便的工具mysqldump,我们可以通过命令行直接实现数据库内容的导出dump ...
- mysql 自动备份发送_MySQL自动备份数据并通过邮箱发送
实验环境:腾讯云服务器 操作系统:CentOS 7 腾讯云.阿里云默认关闭了25端口,需要采用465端口通过smtp来发送邮件,由于个人博客一般数据量都不大,可以直接备份并通过邮件来把数据直接以附件形 ...
- jdbc mysql 自动重连_Mysql中JDBC如何完成自动重连机制的案例
软件安装:装机软件必备包 SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言.在使用它时,只需要发出& ...
- html怎么shell脚本语言,简单shell脚本例子
为什么要使用Shell脚本 使用脚本编程语言的好处是,它们多半运行在比编译型语言还高的层级,能够轻易处理文件与目录之类的对象.缺点是:它们的效率通常不如编译型语言.不过权衡之下,通常使用脚本编程还是值 ...
- mysql自动增长恢复_mysql自动增长的有关问题,怎么恢复从1开始
mysql自动增长的问题,如何恢复从1开始 在一个表中我设置到autoid为自动增长列 例如有如下数据 1 张三 男 20 2 王五 男 22 3 李四 男 25 4 陈大 男 19 现在我把 aut ...
最新文章
- 微软大神“玩”出新花样,求平均值代码还能这样写?
- SQL Server中的高可用性(3)----复制 (转载)
- 网页设计千千万,网站建设万万千
- [转]远程唤醒技术在运维中的应用
- 已经yum安装的基础上,升级编译安装git
- 从人工到机器智能,盗版监测在 AI 时代如何破局?
- JVM—方法区到底是怎么保存函数方法的?
- linux环境下创建postgis数据库,linux下搭建postgresql、postgis、pg_pathman环境步骤详解...
- ubuntu16.04+cuda9.0_cudnn7.5+tensorflow-gpu==1.12.0
- Android 网络编程之Http通信
- linux文件内容打印成二进制,如何在二进制文件中只打印可打印字符(相当于Linux下的字符串)?...
- Numpy数组的广播机制
- word-break|overflow-wrap|word-wrap——CSS英文断句浅析
- java android aes加密解密_AES加密解密在JAVA和ANDROID下互通
- cmd中输入net start mysql 提示:服务名无效
- 谈论源码_当我们谈论软件“替代品”时,这是什么意思?
- 雪,是死掉的雨,是雨的精魂
- SQL面试题--(26~46)
- 在Html5中与服务器交互
- 电子技术基础(三)__具有无关项逻辑函数的化简