利用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上传到服务器对应目录 ...
随机推荐
- <wx-open-launch-weapp>详解
demo图, h5跳转小程序 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- react和react-dom是什么?
使用react开发网页的话,我们难免会下载两个包,一个是react,一个是react-dom,其中react是react的核心代码.react的核心思想是虚拟Dom,其实虚拟Dom改变没有那么复杂,简 ...
- golang开发:go并发的建议
这个是前段时间看到Go语言的贡献者与布道师 Dave Cheney对Go并发的建议或者叫使用的陷阱(不是我自己的建议),结合自己最近几年对gorotine的使用,再回头看这几条建议,真的会茅塞顿开,觉 ...
- ajax - 终结篇jsonp,防抖节流
今天是我们最后一天ajax的学习,这次学完总可以去vue了吧,我不信还有什么拦路石,先不说其他的先看看今天的内容. 1. 首先是同源策略,什么叫做同源? 如果两个页面的协议.域名.端口都相同的话,我们 ...
- node.js - http、模块化、npm
今天是node学习的第二天,其实越往后面学越感觉有点熟悉的味道了,光针对于node来说哈,为什么呢,因为我之前学过一点云计算的东西,当时感觉没什么用搞了下服务器客户端这些,没想到这里还能用一用,至少看 ...
- 解决Mapper.xml文件中sql标签第一个字段报错
在文件标头的http后边补上www 下边代码仅第4行有变动 原文件: <?xml version="1.0" encoding="UTF-8"?> ...
- 初踩坑JS加载与audio接口:点击头像开始/暂停背景音乐
背景 封楼期间难得空闲,也静不下心学习,空闲之余萌生了重做引导单页的想法.因为之前都是扒站(某大公司游戏官网)+小改,一来虽然很炫酷,但本人水平有限,仍有很大一部分JS无从下手,甚至是看不懂|-_-| ...
- Node爬取网站数据
npm安装cheerio和axios npm isntall cheerio npm install axios 利用cheerio抓取对应网站中的标签根据链接使用axios获取对应页面数据 cons ...
- spring boot的配置文件
1.SpringBootApplication是标志启动类,启动后可以把这个类所在的包资源发布到服务器,不用再启动tomcat 2.利用spring boot工程可以和以前一样直接在Controlll ...
- 漏洞复现:MS10-046漏洞
漏洞复现:MS10-046漏洞 实验工具1.VMware虚拟机2.Windows7系统虚拟机3.Kali 2021 系统虚拟机 1.在VMware中打开Windows7虚拟机和Kali 2021虚拟机 ...