| #!/bin/bash#生成100以内的随机数 提示用户猜测 猜对为止#random 系统自带,值为0-32767任意数#随机数1-100num**=** cai **-**eq cai **-**gt $num ] then echo "不巧,猜大了" else echo "不巧,猜小了" fi done |
|---|
1.1.1. 一键安装jdk
1.1.1.1. 准备
在做这个案例之前,将之前安装的JDK全部删除:
1: 删除jdk安装目录
| rm / export / server / jdk1.8.0_241 / **-**fr |
|---|
2:删除/etc /profile中的JDK环境变量配置内容
3:让修改生效
| source /etc/profile**** |
|---|
1.1.1.2. 代码
jdk_install.sh
| #!/bin/bash# 1.提示安装jdkecho "现在开始安装jdk"sleep 1 # 休眠1秒钟# 2.删除centos自带的jdkoldjava**=** {oldjava}do # echo old****done# 3.创建安装目录/export/server, 进入安装目录java_path="/export/server"if [ ! -d java_path****fi #4:解压jdk安装包tar** -xvf / export / software / jdk-8u241-linux-x64.tar.gz -C java_path** # 6.设置环境变量JAVA_HOME**=**"/export/server/jdk1.8.0_241"grep "JAVA_HOME" **/** etc **/** profile**i** **f** [ ? -ne 0 ]then # JAVA_HOME echo "--------------JAVA_HOME------------------" echo 'export JAVA_HOME=/export/server/jdk1.8.0_241' >> / etc / profile # PATH echo "--------------PATH------------------------" echo 'export PATH=:PATH' >> / etc / profilefi# 7.加载环境变量source / etc / profile# 8.提示用户安装成功,查看jdk安装版本echo** "恭喜您,jdk安装成功!"java **-**version | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
执行该脚本
| chmod +x jdk_install.sh./jdk_install.sh |
|---|
1.1.2. 数据库定时备份
1.1.2.1. 需求
1)每天凌晨1:15备份 数据库 itcast_shop到 /export/data/db目录
2)备份开始和备份结束能够给出相应的提示信息
3)备份后的文件要求以备份时间为文件名,并打包成 .tar.gz 的形式,比如:
2020-05-12_021501.tar.gz
- 在备份的同时,检查是否有10天前备份的数据库文件,如果有就将其删除
1.1.2.2. 代码
mysqldump_demo.sh
| #!/bin/bash#完成数据库的定时备份#备份的路径BACKUP**=/** export / data / db#当前时间作为文件名DATETIME**=** DATETIME#使用变量的时候,也可以用{}花括号的方式把变量名包起来,如下:# echo BACKUP/DATETIME.tar.gz---------------------"#主机ip地址HOST**=**192 **.** 168 **.** 88 **.** 161#数据库用户名DB_USER**=**root#数据库密码DB_PWD**=**123456#数据库名DATABASE**=**itcast_shop#创建备份路径#如果备份的文件夹路径存在的话,就直接使用,否则就创建**[** **!** **-d** "{BACKUP}/{DATETIME}" **]** **&&** **mkdir** -p "{BACKUP}/{DATETIME}"#执行mysql的备份数据库的指令mysqldump -u{DB_USER} -p{HOST} {BACKUP} / {DATETIME} . sql#打包备份文件cd {DATETIME} . tar.gz {DATETIME}#删除临时目录**rm** **-**rf {BACKUP} / {DATETIME}#删除10天前的备份文件**find** {BACKUP} **-**mtime + 10 **-**name "*.tar.gz" **-**exec rm **-**rf {} ;echo "-------------------------备份成功-------------------------" |
|---|
代码说明:
1. 代码中HOS、DB_USER、DB_PWD这三个变量的值要根据自己的情况来设置
2. mysqldump就是系统内置的用来备份数据库的工具
3. 语句find ${BACKUP} -mtime +10 -name "*.tar.gz" -exec rm -rf {} ; 解释:
1)find命令只是来查找匹配的文件,如果查到文件之后还需要进一步的操作,则需要添加-exec参数,{}表示find查询出来的文件名字。
2)-exec 参数后面跟的是要执行的command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。
3)-mtime 文件状态修改时间 ,**-**mtime +10:表示10天前的文件