SHELL——条件判断语句练习

目录

一、练习题目

二、解答过程

1、判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查次磁盘剩余空间。

安装邮件服务

配置邮件服务

编写脚本work1.sh

添加计划任务

2、判断web服务是否运行:查看进程的方式判断该程序是否运行;通过查看端口的方式判断该程序是否运行,如果没有运行,则启动该服务并配置防火墙规则。

新建脚本文件work2.sh

测试

3、使用curl命令访问第二题的web服务,看能否正常访问,如果能正常访问,则返回web serveris running;如果不能正常访问,返回12状态码。

新建脚本文件work3.sh

测试


一、练习题目

1、判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间。
2、判断web服务是否运行:1、查看进程的方式判断该程序是否运行;2、通过查看端口的方式判断该程序是否运行,如果没有运行,则启动该服务并配置防火墙规则。
3、使用curl命令访问第二题的web服务,看能否正常访问,如果能正常访问,则返回web serveris running;如果不能正常访问,返回12状态码。

二、解答过程

1、判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查次磁盘剩余空间。

  • 安装邮件服务

yum install s-nail -y

  • 配置邮件服务

进入配置界面 

vim /etc/s-nail.rc 

输入以下内容后保存退出 

set from=1422047192@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=1422047192@qq.com
set smtp-auth-password=ujlmbevwepvdcihg
set smtp-auth=login 

  • 编写脚本work1.sh

 vim work1.sh 

 输入以下内容后保存退出 


df_name=$(df -h | grep /$ | awk '{print $4}' | cut -dG -f1)
 
if [ $df_name -lt 20 ]
then
    echo "df too low, ${df_name}G" | s-nail -s "你的当前磁盘小于20G" 3575244387@qq.com
fi

chmod +x work1.sh  

  • 添加计划任务

vim /etc/crontab 

  输入以下内容后保存退出 

0 18 * * * root /usr/bin/bash /root/work1.sh

2、判断web服务是否运行:查看进程的方式判断该程序是否运行;通过查看端口的方式判断该程序是否运行,如果没有运行,则启动该服务并配置防火墙规则。

  • 新建脚本文件work2.sh

vim work2.sh

  输入以下内容后保存退出

 #!/bin/bash
 
ps=`ps -ef | grep httpd | grep -v grep | wc -l`
if (($ps>0))
then
        echo "httpd is already running"
else
        echo "httpd not started,wating......"
        yum install httpd -y > /dev/null
        systemctl start httpd
        systemctl start firewalld
        firewall-cmd --permanent --zone=public --add-service=http > /dev/null
        firewall-cmd --permanent --zone=public --add-port=80/tcp > /dev/null
        firewall-cmd --reload > /dev/null
        echo "httpd is already running"
fi

  • 测试

3、使用curl命令访问第二题的web服务,看能否正常访问,如果能正常访问,则返回web serveris running;如果不能正常访问,返回12状态码。

  • 新建脚本文件work3.sh

vim work3.sh

  输入以下内容后保存退出

#!/bin/bash
 
ip_add=`ip a | grep ens32 |grep  inet | tr -s " " | cut -d " " -f3`
ip=${ip_add%/*}
 
curl -s  $ip > /dev/null
if (($?==0))
then
        echo "Web server is running."
else
        echo 12
fi

  • 测试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/542124.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Eviews实战】——多元线性回归模型的建立(二)

🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一|统计学|干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项,参与研究经费10w、40w级横向 文…

wsl中安装虚拟环境virtualenv,pycharm中配置wsl解释器

wsl 中安装虚拟环境 virtualenv 注意: 不能将虚拟环境安装到 /root 目录下,在 window 文件管理中,没有权限访问 wsl 中的 /root 目录 安装虚拟环境 sudo pip install virtualenv sudo pip install virtualenvwrapper配置环境变量 1、创建…

html5的css使用display: flex进行div居中的坑!

最近做项目的时候,有个需求,一个高度宽度不确定的Div在另一个Div内上下左右居中。 然后以前上下居中用的都是很繁琐的,就打算去百度搜索一个更优秀的方法。 百度AI自己给我一个例子: /* div在容器里居中显示,设置外容…

Tomcat Session集群---会话绑定

实验配置: 7-1安装Nginx 7-2和7-3安装Tomcat 1.配置7-1 1.做负载均衡,反向代理 [rootlocalhost ~]# vim /etc/nginx/nginx.conf17 http {18 upstream tomcat {19 server 192.168.91.102:8080;20 server 192.168.91.103:8080;2…

移动云COCA架构实现算力跃升,探索人工智能新未来

近期,随着OpenAI正式发布首款文生视频模型Sora,标志着人工智能大模型在视频生成领域有了重大飞跃。Sora模型不仅能够生成逼真的视频内容,还能够模拟物理世界中的物体运动与交互,其核心在于其能够处理和生成具有复杂动态与空间关系…

sqllab第二十三关通关笔记

知识点: mysqli_query() 返回值为资源型或布尔型如果内容为查询语句则返回资源型数据;如果内容为插入、更新、删除等语句则返回布尔类型结果mysql_fetch_array() 从结果集中取出一行作为关联数组或数字数组输入内容为指定查询的结果集单引号闭合绕过联…

IP证书有什么作用?怎么申请?

关于IP地址证书,它的主要作用有这么几个点: 1.验明正身:就像身份证一样,它可以证明某个服务器的IP地址是真的、合法的,让咱知道咱们连接的就是正确的服务器,而不是冒牌货。这样一来,就可以降低像…

SpringMVC 02

这里先附上前一篇的地址,以上系列均为博主的学习路线,仅供参考 初识Spring MVC-CSDN博客 下面我们从SpringMVC传递数组开始讲起 1.传递数组 传递数组的方式和传递普通变量的方式其实是相同的,下面我们附上传递的图片 RequestMapping("/r7")public String r1(String[…

uniapp小程序:使用uni.getLocation通过腾讯地图获取相关地址信息详情(超详细)

先看运行结果: 流程: 1、在edge网页搜索腾讯位置服务 搜索后点击这里 已经有账号的就进行登录,没有账号的进行注册即可 点击控制台: 进去后点击成员管理---->我的应用---->创建应用 输入相应的参数应用名称(随便…

嵌入式3-15

1、整理思维导图 2、整理课上单向循环链表的代码 3、完成双向链表的剩下四个功能 2、 node_p create_list()//创建链表 { node_p p(node_p)malloc(sizeof(node)); if(pNULL) { printf("申请失败\n"); return NULL; } p->len…

React18 后台管理模板项目:现代、高效与灵活

🎉 给大家推荐一款React18TypescriptVitezustandAntdunocss且超级好用的中后台管理框架 项目地址 码云:https://gitee.com/nideweixiaonuannuande/xt-admin-react18github:https://github.com/1245488569/xt-admin-react18 演示地址 http…

Golang中map数据结构字段解析

Golang里map底层数据结构具体如下图所示: map其实就是一个指向 hmap 的指针,占用了8个字节 hmap各自段存放的字段意义如下: 字段含义countmap中元素的个数,对应len (map)的值flags状态标志位,标记map的一些状态B桶数…