shell脚本备份数据库

Shell介绍
优势: 简化日常维护工作
自动部署tomcat环境
更新项目war包
导入mysql数据库
备份mysql数据库
项目日志定时清除
程序文件(用户在shell脚本输入一系列的命令和命令语句,(变量,流程控制语句,注释))linux命令和shell脚本区别:
Linux在linux命令模式下执行
Shell脚本通常是一个文件,文件中包括各种命令和命令语句
Shell规范
第一行指定脚本解释器
#!/bin/bash 或者
#!/bin/sh
脚本开头加作者、日期、版本信息
#date: 2018-09-xx
#author: XXX
#description: The script funcation is to …
#Version: 1.0
#email: xxx
备份数据库:

  1. 物理备份 直接cp,tar备份
    查看数据库状态 service mysqld status
    登录 mysql -uroot -p 进入mysql命令
    查看当前数据库有哪些数据库 show databases;
    (默认有information、mysql、test 三个数据库)
    使用数据库 use 数据库名 会切换到当前数据库,之后就可以进行增删改查
    查看当前数据库里面的表 show tables;
    统计 select count()from 表名;
    Exit 退出
    拷贝
    Cp /var/lib/mysql/
    /home/hhy(会出现错误)
    Cp -a /var/lib/mysql/* /home/hhy -a保持原有属性不发生变化
    打包
    Tar -czvf mysql.tar.gz myaql
    验证
    恢复备份 Cp -a /home/hhy * /var/lib/mysql/
    将mysql中数据库删掉(rm -rf),重新启动(restart)
  2. 逻辑备份 特定工具从数据库导出数据并另存备份
    Vi mysql_bak.sh #新建
    #!/bin/sh
    #date: 2018-09-xx
    #author: XXX
    #email: xxx
    #description: The script funcation is to …
    #Version: 1.0
    Cp -a /var/lib/mysql/* /home/hhy/back
    Cd /home/hhy/back
    Tar -czvf mysql_bak.tar.gz mysql
    执行
    (shell默认没有执行权限X)
    Chmod u+x mysql_bak.sh
    ./mysql_bak.sh #执行脚本

改进 之前的shell有很多的路径重复(变量)引用变量${ }
#!/bin/sh
#date: 2018-09-xx
#author: XXX
#email: xxx
#description: The script funcation is to …
#Version: 1.0
Back_dir =/home/hhy/back
Cp -a /var/lib/mysql/* ${ Back_dir}
Cd ${Back_dir}
Tar -czvf mysql_bak.tar.gz mysql

Wq #保存退出
执行查看

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值