利用shell脚本自动化备份数据库与手动备份还原数据库操作
1、在linux操作系统上手动备份数据库
mysqldump -h 服务器IP地址 -u root -p数据库密码 --databases 所要备份的数据库名称 > /路径/数据库.sql(自定义要生成的sql名称)

2、在linux操作系统上手动还原数据库
mysql -uroot -p密码 < 数据库.sql(如果不是在当前目录下要进行添加具体路径)我是在当前目录下存储运行的

记得要查生成的sql文件,可以进行更改的(不建议进行修改库名,但是大多数可以在表中进行造数据)
3、在linux操作系统上自动备份数据库与管理备份文件(记得要授权chmod +X shell脚本名称)

4、shell脚本具体代码(备份单个数据库)
#!/bin/bash
#数据库账号
user= XXXX
#数据库密码
password= XXXXXX
#被备份的数据库名称
dbname= XXXXXXX
#获取日期
date=$(date +%Y_%m_%d+%H%M%S);
#定义备份文件名称格式:库名_日期
bak=XXXX-${date};
#数据库ip地址
ip= XX.XXX.XX.XXX
if [ ! -f /home/datetime/$bak.sql ];then
mysqldump -u${user} -p${password} --host=${ip} --databases ${dbname} > /home/datetime/${bak}.sql
echo '备份完成'
else
echo '备份文件已存在!'
fi
# cd /home/datetime
# tar -zcvf ${bak}.sql.tar.gz ${bak}.sql
# 表示删除20分钟之内访问过的文件。
#find /home/datetime -name '*.tar' -amin +2 -ls -exec rm {} \;
#删除7分钟之前的备份文件(测试的时候方便调试)
#find /home/datetime -name "*.sql" -type f -mmin +7 -exec rm -rf {} \; > /dev/null 2>&1
#删除7天之前的备份文件
find /home/datetime -name "*.sql" -type f -mtime +6 -exec rm -rf {} \; > /dev/null 2>&1
#2>/dev/null
#意思就是把错误输出到“黑洞”
#>/dev/null 2>&1
#默认情况是1,也就是等同于1>/dev/null 2>&1。意思就是把标准输出重定向到“黑洞”,还把错误输出2重定向到标准输出1,也就是标准输出和错误输出都进了“黑洞”
#2>&1 >/dev/null
#意思就是把错误输出2重定向到标准出书1,也就是屏幕,标准输出进了“黑洞”,也就是标准输出进了黑洞,错误输出打印到屏幕
4、shell脚本具体代码(备份多个数据库我这里使用的是for循环)
#!/bin/bash
# Name:backmysql.sh
#备份目录
backupdir=/usr/local/mysqlbackup/mysqldata
#备份文件后缀时间
time=_` date +%Y_%m_%d_%H_%M_%S`
#需要备份的数据库名称
db_name1=xxx1
db_name2=xxx2
db_name3=xxx3
db_name4=xxx4
#mysql 用户名
db_user=root
#mysql 密码
db_pass=123456
#备份
for i in $db_name{1..4}
do
#备份指定数据库
mysqldump -u$db_user -p$db_pass $i > $backupdir/$i-$time.sql
#删除7天之前的备份文件
find /usr/local/mysqlbackup/mysqldata -name "$i-*.sql" -type f -mtime +6 -exec rm -rf {} \; > /dev/null 2>&1
done
5、创建定时任务
引进一个插件crontab 定时具体用法下篇分享
利用shell脚本自动化备份数据库与手动备份还原数据库操作的更多相关文章
- 利用shell脚本去备份幸运28源码搭建下载所指定的数据库
#! /bin/bash幸运28源码搭建下载Q[115288oo99]logintool=/home/yx/server/mysql/mysql/bin/mysqldumptool=/home/yx/ ...
- shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中
shell编程系列24--shell操作数据库实战之利用shell脚本将文本数据导入到mysql中 利用shell脚本将文本数据导入到mysql中 需求1:处理文本中的数据,将文本中的数据插入到mys ...
- 利用shell脚本将Oracle服务器中数据定时增量刷新到ftp服务器中
现有需求:将oracle数据库中的数据准实时同步至某ftp服务器中,以便前端应用能定时从ftp服务器目录中取增量数据 方法:将加工脚本写为存储过程,然后利用shell脚本执行该存储过程并将增量数据导出 ...
- fdisk分区硬盘并shell脚本自动化
最近工作需要用到对硬盘进行shell脚本自动化分区和mount的操作,google了一些资料,下面做个总结. 如果硬盘没有进行分区(逻辑分区或者扩展分区,关于两者概念,自行google),我们将无法将 ...
- shell脚本自动化部署服务
shell脚本自动化部署 !/bin/bash #export PATH=$PATH:/export/maven/bin run_flag_dir="/data0/shell/deploy_ ...
- 利用shell脚本或者php移动某个文件夹下的文件到各自的日期组成的目录下
背景是这样的:网站一开始访问量比较小,大家就把所有的图片文件上传到一个目录下(比如是/data/images/).后来访问量大了,图片也多了,这样就影响读取效率.所以有个这样的需求,把这些个图片文件移 ...
- 利用shell脚本实现计划任务功能 V1.2
2013.05.10 mytask 1.2 主程序休眠时间分成若干小的时间片断分段休眠,避免长时间的休眠不能及时响应系统信号. 2013.05.07 mytask 1.1 昨天发布了mytask1. ...
- 利用shell脚本个性化运行jar任务
利用shell脚本可以个性化运行jar任务,废话不多说,直接上代码: #!/bin/bash APP_PATH=/root/bigdata/jars/data_migration_from_sqlse ...
- shell脚本自动化部署
由于公司技术部团队较小,没有专门的运维团队,所以运维工作技术部承包了. 一.纯人工部署是这样的: 1. 本地打包:一般 maven clean package 2. 借助xftp上传到服务器对应目录 ...
随机推荐
- getHibernateTemplate出现的所有find方法的总结
文章转自:http://www.cnblogs.com/DarrenChan/p/5528194.html 一.find(String queryString); 示例:this.getHiberna ...
- 解决vue安装时出现vue --version或vue不是内部命令的问题
1. 试图全局配置 vue 的环境变量,找到 vue.cmd 的路径,然后进行配置. 问题:在文件搜索中,没有找到 vue.cmd,失败. 1.npm i npm -g 全局 update 了 npm ...
- EMS查看及修改邮箱发送和接受邮件大小的方法
默认情况下,新建用户邮箱没有进行单独设置,故用户邮箱默认值为"Unlimited"(未限制),即遵从全局设置(继承邮箱数据库策略).通过EMS查看用户邮箱发送和接受邮件大小的默认值 ...
- springboot+springsecurity+mybatis plus之用户授权
文章目录 前言 一.导入坐标 二.Users实体类及其数据库表的创建 三.controller,service,mapper层的实现 四.核心--编写配置文件 五.无权限界面和登录界面的实现 前言 即 ...
- redis迁移第三篇(cluster forget)
1.删除错误节点,带有 fail,noaddr , 这种需要用 cluster forget redis集群迁移之后,由于之前的误操作,导致pod日志里面出现这样的错误,出现一会好一会不好的情况,就是 ...
- 深入剖析 RocketMQ 源码 - 负载均衡机制
RocketMQ作为一款流行的消息中间件在各大互联网应用广泛,本文主要分析RocketMq在消息生产和消费过程中的负载均衡机制,并创新提出消费端负载均衡策略的改写以实现固定IP消费的可能.
- 10. MySQL基础-02条件查询、排序查询
2. 条件查询 语法 select 查询列表 from 表名 where 筛选条件: 分类 按条件表达式筛选 简单的条件运算符:> < = != <> >= ⇐ 按逻 ...
- 自定义user表签发token、自定义认证类、simpleui模块使用
今日内容概要 自定义User表,签发token 自定义认证类 simpleui的使用 多方式登陆接口(后面也写 内容详细 1.自定义User表,签发token # 如果项目中的User表使用auth的 ...
- 使用加强堆结构解决topK问题
作者:Grey 原文地址: 使用加强堆结构解决topK问题 题目描述 LintCode 550 · Top K Frequent Words II 思路 由于要统计每个字符串的次数,以及字典序,所以, ...
- Unity—2D边缘检测(描边效果)
一.ShaderLab 1.Alpha值边缘检测 根据图片的Alpha值边缘判定,向内扩一段距离做边缘,颜色设置未描边颜色: 片元着色阶段,向上下左右四个方向做检测,有一个点的透明度为0,判定为边缘: ...