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
备份数据库:
- 物理备份 直接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) - 逻辑备份 特定工具从数据库导出数据并另存备份
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 #保存退出
执行查看