这是为小白定制的专属《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数据库数据?相关推荐

  1. mysql 定时同步数据_如何定时备份Mysql数据库数据?

    这是为小白定制的专属<Linux轻松上手>系列.涵盖了linux常用指令.shell脚本等核心内容,浅显易懂,配合实操案例快速上手.目标就是帮助大家轻松上手linux,少走弯路! 上一篇如 ...

  2. mysql 如何按时间备份_如何定时备份mysql数据库

    第一步:编写mysqldump备份数据库脚本,先新建txt文档,编辑内容为 @echo off set "Ymd=%date:~,4%%date:~5,2%%date:~8,2%" ...

  3. mysql定期执行备份语句_【mysql】备份篇1:使用系统计划任务+mysqldump 定时备份mysql数据库 不用输入密码自动导出sql文件...

    项目部署在服务期上之后,有了新的需求,需要每月定时备份mysql数据库的所有数据! 查找了网上的多篇文章之后,自己又对bat文件中的mysqldump语句进行改进,可以实现了不用输入密码就能自动定时备 ...

  4. 批处理定时mysql备份数据库_定时备份mysql数据库的批处理

    定时备份mysql数据库的批处理代码,保存为backup_mysql.bat,运行即可. 复制代码 代码如下: @echo off set txt1=%date:~0,4% ::当前年 set txt ...

  5. mysql数据自动备份_每天自动备份MySQL数据库的shell脚本

    经常备份数据库是一个好习惯,虽然数据库损坏或数据丢失的概率很低,但一旦发生这种事情,后悔是没用的.一般网站或应用的后台都有备份数据库的功能按钮,但需要去手工执行.我们需要一种安全的,每天自动备份的方法 ...

  6. linux mysql定时删除数据_让linux每天定时备份MySQL数据库并删除五天前的备份文件...

    MYSQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据.利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的. 1. ...

  7. Shell脚本:Linux下定时备份MySQL数据库

    对任何一个已经上线的网站站点来说,数据备份都是必须的.无论版本更新还是服务器迁移,备份数据的重要性不言而喻.人工备份数据的方式不单耗费大量时间和精力,还灰常不专业的说.于是,有了下面这段脚本的出现.参 ...

  8. mysql 数据库快照迁移_快照方式备份mysql 数据库

    关闭mysql服务 # service mysqld stop 一.创建逻辑卷 依照如下连接的文档创建一个逻辑卷 要求:物理卷20G;卷组名为vg0;逻辑卷2G,逻辑卷名为mydata 创建逻辑卷挂载 ...

  9. LINUX下定时备份MYSQL数据库SHELL脚本

    备份脚本 backupMysqlData.sh #!/bin/bash#备份SQL文件的路径 backupdir=/home/hdkg/mysqldata/#执行导出数据库操作 mysqldump - ...

最新文章

  1. JavaScript的undefined
  2. Python面向对象中super用法与MRO机制
  3. What can Lines3D Class do?
  4. 日志处理中一些shell命令技巧
  5. php生成图片文件流,php如何将base64数据流文件转换为图片文件?
  6. oracle日期与字符串的相互转化
  7. JavaScript 简介第一课
  8. 机器学习中的分类模型和回归模型
  9. 使用“网吧卫士”实现网吧带宽完美管理(转)
  10. Java 压缩文件夹
  11. 语音源码构建了语音社交的应用基础,模式多样,功能丰富
  12. VMware虚拟机安装Kali破解WiFi密码
  13. 计算机显示器的分辨率可以调节吗,电脑分辨率何如调?电脑无法调整屏幕分辨率怎么办?...
  14. 技术管理进阶——团队合并、解散怎么办?
  15. 华为服务器管理口在哪个位置,华为服务器默认管理口地址吗
  16. 计算机网络与安全课程设计,计算机网络课程设计-网络安全..doc
  17. 微信小程序仿记事本,带下划线,自动换行,高度自增
  18. 死区特性函数以及MATLAB验算
  19. GitHub Pages 快速搭建个人主页
  20. 两大突破三项升级,老板烟灶蒸烤炸款集成灶9YC13使用体验

热门文章

  1. SAP 电商云 Spartacus Maintenance branch
  2. SAP 电商云 Accelerator 和 Spartacus UI 的工作机制差异
  3. aria-required属性学习笔记
  4. 今天,我要在睡梦里,和死神握握手
  5. How to determine if SAP CRM UI is extensible
  6. 还在安装各种截图软件?Windows10自带的截图工具你会用吗?
  7. SAP Business Application Studio和Authentication Trust Management
  8. 使用SAP PI将CRM的Opportunity同步到C4C去
  9. SAP UI5 XML view lifecycle processing - defineMasterHeaderFooter
  10. nodejs部署神器pm2的使用体验