shell如何控制文件读写不同时_如何定时备份Mysql数据库数据?
这是为小白定制的专属《Linux轻松上手》系列。涵盖了linux常用指令、shell脚本等核心内容,浅显易懂,配合实操案例快速上手。目标就是帮助大家轻松上手linux,少走弯路!
上一篇如何高效学习shell脚本,看完这篇就够了~ 讲述了shell脚本的实用指令,本文教你如何利用shell脚本完成定时备份DB数据,一起加油吧~~
1、shell变量01. shell位置参数变量
当我们执行一个 shell 脚本时,如果希望获取到命令行的参数信息,就可以使用到位置参数变量,比如 :./myshell.sh 100 200
, 这个就是一个执行 shell 的命令行,可以在 myshell 脚本中获取到参数信息(说明:输入以上执行命令,该shell脚本内部可以拿到你输入的信息)
基本语法:
案例:
02. 预定义变量
就是 shell 设计者事先已经定义好的变量,可以直接在 shell 脚本中使用
基本语法:
2、read读取控制台输入
基本语法:
3、定时备份Mysql数据库数据
需求分析
1)每天凌晨 19:30 备份 数据库 testdb到 /data/backup/db2)备份开始和备份结束能够给出相应的提示信息3)备份后的文件要求以备份时间为文件名,并打包成 .tar.gz 的形式,比如:2018-03-12_230201.tar.gz4) 在备份的同时,检查是否有 10 天前备份的数据库文件,如果有就将其删除。
编写shell脚本
#!/bin/bashBACKUP=/data/backup/db # 定义备份的目录# 下面的这一段是获取当前时间戳current=`date "+%Y-%m-%d %H:%M:%S"`timeStamp=`date -d "$current" +%s`#将current转换为时间戳,精确到毫秒 DATETIME=$((timeStamp*1000+`date "+%N"`/1000000))echo "==============开始备份================"echo "==================备份的路径为$BACKUP/$DATETIME.tar.gz"# 主机HOST=localhost# 用户名DB_USER=root# 密码DB_PWD=123456# 备份数据库名DATABASE=testdb# 如果备份的路径文件夹存在,就使用,否则就创建[ ! -d "$BACKUP/$DATETIME" ] && mkdir -p "$BACKUP/$DATETIME"# 执行mysql的备份数据库的指令mysqldump -u${DB_USER} -p${DB_PWD} --host=$HOST $DATABASE > $BACKUP/$DATETIME/$DATETIME.sql# 打包备份文件cd $BACKUPtar -zcvf $DATETIME.tar.gz $DATETIME# 删除临时文件rm -rf $BACKUP/$DATETIME# 删除10天前的备份文件find $BACKUP -mtime +10 -name "*.tar.gz" -exec rm -rf {} \;echo "=====================备份文件成功==================="
启动定时任务:
crontab -e
编写规则:
30 19 * * * /usr/sbin/mysql_db_backup.sh
查看生成的备份文件:
shell如何控制文件读写不同时_如何定时备份Mysql数据库数据?相关推荐
- mysql 定时同步数据_如何定时备份Mysql数据库数据?
这是为小白定制的专属<Linux轻松上手>系列.涵盖了linux常用指令.shell脚本等核心内容,浅显易懂,配合实操案例快速上手.目标就是帮助大家轻松上手linux,少走弯路! 上一篇如 ...
- mysql 如何按时间备份_如何定时备份mysql数据库
第一步:编写mysqldump备份数据库脚本,先新建txt文档,编辑内容为 @echo off set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%" ...
- mysql定期执行备份语句_【mysql】备份篇1:使用系统计划任务+mysqldump 定时备份mysql数据库 不用输入密码自动导出sql文件...
项目部署在服务期上之后,有了新的需求,需要每月定时备份mysql数据库的所有数据! 查找了网上的多篇文章之后,自己又对bat文件中的mysqldump语句进行改进,可以实现了不用输入密码就能自动定时备 ...
- 批处理定时mysql备份数据库_定时备份mysql数据库的批处理
定时备份mysql数据库的批处理代码,保存为backup_mysql.bat,运行即可. 复制代码 代码如下: @echo off set txt1=%date:~0,4% ::当前年 set txt ...
- mysql数据自动备份_每天自动备份MySQL数据库的shell脚本
经常备份数据库是一个好习惯,虽然数据库损坏或数据丢失的概率很低,但一旦发生这种事情,后悔是没用的.一般网站或应用的后台都有备份数据库的功能按钮,但需要去手工执行.我们需要一种安全的,每天自动备份的方法 ...
- linux mysql定时删除数据_让linux每天定时备份MySQL数据库并删除五天前的备份文件...
MYSQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据.利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的. 1. ...
- Shell脚本:Linux下定时备份MySQL数据库
对任何一个已经上线的网站站点来说,数据备份都是必须的.无论版本更新还是服务器迁移,备份数据的重要性不言而喻.人工备份数据的方式不单耗费大量时间和精力,还灰常不专业的说.于是,有了下面这段脚本的出现.参 ...
- mysql 数据库快照迁移_快照方式备份mysql 数据库
关闭mysql服务 # service mysqld stop 一.创建逻辑卷 依照如下连接的文档创建一个逻辑卷 要求:物理卷20G;卷组名为vg0;逻辑卷2G,逻辑卷名为mydata 创建逻辑卷挂载 ...
- LINUX下定时备份MYSQL数据库SHELL脚本
备份脚本 backupMysqlData.sh #!/bin/bash#备份SQL文件的路径 backupdir=/home/hdkg/mysqldata/#执行导出数据库操作 mysqldump - ...
最新文章
- JavaScript的undefined
- Python面向对象中super用法与MRO机制
- What can Lines3D Class do?
- 日志处理中一些shell命令技巧
- php生成图片文件流,php如何将base64数据流文件转换为图片文件?
- oracle日期与字符串的相互转化
- JavaScript 简介第一课
- 机器学习中的分类模型和回归模型
- 使用“网吧卫士”实现网吧带宽完美管理(转)
- Java 压缩文件夹
- 语音源码构建了语音社交的应用基础,模式多样,功能丰富
- VMware虚拟机安装Kali破解WiFi密码
- 计算机显示器的分辨率可以调节吗,电脑分辨率何如调?电脑无法调整屏幕分辨率怎么办?...
- 技术管理进阶——团队合并、解散怎么办?
- 华为服务器管理口在哪个位置,华为服务器默认管理口地址吗
- 计算机网络与安全课程设计,计算机网络课程设计-网络安全..doc
- 微信小程序仿记事本,带下划线,自动换行,高度自增
- 死区特性函数以及MATLAB验算
- GitHub Pages 快速搭建个人主页
- 两大突破三项升级,老板烟灶蒸烤炸款集成灶9YC13使用体验
热门文章
- SAP 电商云 Spartacus Maintenance branch
- SAP 电商云 Accelerator 和 Spartacus UI 的工作机制差异
- aria-required属性学习笔记
- 今天,我要在睡梦里,和死神握握手
- How to determine if SAP CRM UI is extensible
- 还在安装各种截图软件?Windows10自带的截图工具你会用吗?
- SAP Business Application Studio和Authentication Trust Management
- 使用SAP PI将CRM的Opportunity同步到C4C去
- SAP UI5 XML view lifecycle processing - defineMasterHeaderFooter
- nodejs部署神器pm2的使用体验