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

  • 测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值