利用shell脚本去备份所指定的数据库

#! /bin/bash

logintool=/home/yx/server/mysql/mysql/bin/mysql
dumptool=/home/yx/server/mysql/mysql/bin/mysqldump
username=root
passwd=`cat /home/yx/stt/shellmysql/dumpsql/.passwd`
socketfile=/var/run/mysqld/mysqld.sock
storepath=/home/yx/backup/hnf_file
now=`date +%Y%m%d%H%M%S`

password=${passwd}
stty erase ‘^H‘
read -p "请输入库名:" dbname

if [[ -z ${dbname} ]];then

echo -e "你输出的库名为空,请输入库名!\n"
exit 100
else

dbcheck=`${logintool} -u ${username} -p${password} -e "show databases;" 2>/dev/null | grep -w "${dbname}"`

if [[ -z ${dbcheck} ]];then

echo -e "你要导出的库不存在!请重新输入正确的dbname!\n"
exit 100

fi
fi

${dumptool} -u ${username} -p${password} -S ${socketfile} --set-gtid-purged=off ${dbname} > ${storepath}/${dbname}-${now}.sql

echo -e "${dbname}库 已经备份完毕!\n"
echo "保存路径为:${storepath}/${dbname}-${now}.sql"``

然后执行这个脚本,会提示你输入想要备份的数据库

这样就比用正常的命令备份方便了很多,也不用每次输入密码和端口号了

原文地址:https://blog.51cto.com/825536458/2413134

时间: 2024-07-31 22:47:25

利用shell脚本去备份所指定的数据库的相关文章

利用SHELL脚本来验证Oracle数据库RMAN备份集的有效性

利用SHELL脚本来验证Oracle数据库RMAN备份集的有效性 作者:赵全文  网名:guestart 我们生产环境的Oracle数据库都做了RMAN备份,是采用了一周的RMAN备份保留策略:除了使用RMAN备份以外,我们还使用了爱数(Eisoo)备份软件来进行备份,可以说是做到了有备无患.可是,如果有一天,Oracle数据库由于主机层面硬件原因或是数据库层面的原因不能对外提供高可用服务的时候,假设数据丢了一大部分,我们只有用RMAN备份来进行恢复,再如果发现,RMAN备份失效了,那就往地缝里

利用SHELL脚本实现将Oracle数据库的每日EXPDP导出文件复制到远程服务器

利用SHELL脚本实现将Oracle数据库的每日EXPDP导出文件复制到远程服务器 作者:赵全文 网名:guestart 我们有一套生产环境的Oracle数据库,虽然每天都有RMAN备份,但是也招架不住开发人员隔三差五就说要恢复几张表的前几天的数据到生产环境当中,针对这样的需求,用RMAN来恢复某几张表的数据就显的特别费劲了.于是我决定用Oracle数据库的逻辑备份工具EXPDP(数据泵导出)专门导出特定用户下的所有表的数据,并在每天凌晨4点通过LINUX操作系统的CRONTAB的计划任务定时执

Shell脚本-----自动备份Mysql数据库

脚本的整体思路 1.定义需要的变量 2.利用for循环备份需要备份的库,并以库名-当天日期.sql命名,并记录相关日志 3.建立备份当天的日期的目录,向备份的Sql文件移动到该目录 4.压缩打包该目录,以节省空间,打包成功后删除该目录 5.备份目录只备份七天的数据库,第八天删除第一天的备份,目录只会存在连续七天的备份文件 6.查找备份目录下的.log日志文件,超过七天的删除 #!/bin/bash mysql_bin=/usr/local/tdoa/mysql/bin/mysqldump use

Linux基础之-利用shell脚本实现自动监控系统服务

目的:监控集群内nginx及nfs服务运行是否正常,如任一服务异常,则发送邮件通知用户 条件:1. 主机及子机IP地址,hostname已确定: 2. 主机与子机能够免密通讯,即基于密匙通讯(相关命令:ssh-keygen;ssh-copy-id -i web1); 需要的文件:    1. python邮件发送工具: 2. nfc.sh监控脚本,监控nginx及nfs服务状态,并调用mail发送工具通知用户: 3. nfc-install.sh监控部署脚本,运行在主机,为子机配置文件,执行命令

linux下SSH服务利用shell脚本实现密钥的批量分发与执行

SSH项目利用shell脚本实现密钥的批量分发与执行 1 ssh密钥的批量分发 开始安装sshpass免交互工具并进行SSH-key的批量分发 1.1 下载epel源并更新yum仓库 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum -y clean all yum makecache 1.2 安装sshpass工具 yum -y install sshpass 2 创建密钥文件 2

利用shell脚本实现计划任务功能 V1.2

2013.05.10  mytask 1.2 主程序休眠时间分成若干小的时间片断分段休眠,避免长时间的休眠不能及时响应系统信号. 2013.05.07 mytask 1.1 昨天发布了mytask1.0 版后(利用shell脚本实现计划任务功能),一直在想着如何解决那个最后的遗留问题"每个任务脚本中声明的函数名必须唯一不能重复,否则会导致任务函数覆盖.",无意间自问了一句为什么不能像crontab那样直接调用脚本和命令呢?这一问才让自己回忆起来,之所以用function封装任务是因为早

SHELL脚本自动备份Linux系统

今天来写一个使用shell脚本增量备份系统文件,顺便复习一下shell脚本相关的命令,这个脚本可以根据自己的需求来备份不同的文件或者文件夹,进行完整备份和增量备份.直接上脚本如下: #!/bin/sh #Automatic Backup Linux System Files #Author wugk 2013-11-22 #Define Variable SOURCE_DIR=( $* ) TARGET_DIR=/data/backup/ YEAR=`date +%Y` MONTH=`date

用shell脚本自动化备份数据库

防伪码:防止误删系统数据库,定时备份你我更安心! 使用shell脚本自动化备份数据库 一.简介 系统数据库如图所示(以MySQL5.5为例) 1.information_schema:信息数据库,其中保存着关于MySQL服务器所维护的所有其他数据库的信息.在information_schema中,有数个只读表.它们实际上是视图,而不是基本表,因此,你将无法看到与之相关的任何文件. 2.mysql:MySQL的的核心数据库,类似于SQLServer中的master表,主要负责存储数据库的用户.权限

利用shell脚本或者php移动某个文件夹下的文件到各自的日期组成的目录下

背景是这样的:网站一开始访问量比较小,大家就把所有的图片文件上传到一个目录下(比如是/data/images/).后来访问量大了,图片也多了,这样就影响读取效率.所以有个这样的需求,把这些个图片文件移动到多个目录下,这个目录是图片的上传日期(就是文件属性中的修改日期filemtime)组成的.比如2012-12-20的修改日期,那么现在就该放在/data/images/2012/12/20的目录下. php有很容易的操作文件的函数,可以方便完成.当然也可以利用shell脚本完成. 用shell的