目录
1.1判断web服务是否运行(1、查看进程的方式判断该程序是否运行,2、通过查看端口的方式判断该程序是否运行),如果没有运行,则启动该服务并配置防火墙规则。
1.2使用curl命令访问第二题的web服务,看能否正常访问,如果能正常访问,则返回web server is running;如果不能正常访问,返回12状态码。
1.3判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间。
if条件语句的语法
单分支结构
第一种语法:if < 条件表达式 >then指令fi第二种语法:if < 条件表达式 >;then指令fi
双分支结构
if < 条件表达式 >then指令序列 1else指令序列 2fi
多分支结构
语法:if 条件表达式 1then命令序列 1elif 条件表达式 2then命令序列 2elif 条件表达式 3then命令序列 3else命令序列 nfi
练习及案例
1.1判断web服务是否运行(1、查看进程的方式判断该程序是否运行,2、通过查看端口的方式判断该程序是否运行),如果没有运行,则启动该服务并配置防火墙规则。
第一种:查看进程的方式判断程序是否运行
[root@manage 20221228]# vim homework2.sh
result=`ps -ef | grep httpd | wc -l` 查看进程
if [ $result -gt 1 ];then 判断进程是否大于1
echo "httpd is running" 大于1则程序运行
else
#1 第一种
#sytemctl restart firewalld 开启防火墙firewalld
#firewall-cmd --add-port=80/tcp 写入允许80端口访问的规则
#2 第二种
#yum install iptables-service.x86_64 -y 下载iptables
#systemctl stop firewalld 停止firewalld服务
#systemctl start iptables 开启iptables服务
#iptables -I INPUT -p tcp --dport 80 -j ACCEPT 写入iptables的规则
`systemctl restart httpd` 重启httpd服务
fi
1.2使用curl命令访问第二题的web服务,看能否正常访问,如果能正常访问,则返回web server is running;如果不能正常访问,返回12状态码。
[root@manage 20221228]# vim homework3.sh
curl http://192.168.27.110 curl命令访问页面
if [ $? -eq 0 ];then
echo "web service is regular running"
else
exit 12 编写返回指定退出码
echo $?
fi
正常可以访问,返回
[root@manage 20221228]# bash homework3.sh
this s first
web service is regular running
不能正常访问,返回退出码12
[root@manage 20221228]# bash homework3.sh
curl: (7) Failed to connect to 192.168.27.110 port 80: Connection refused
[root@manage 20221228]# echo $?
12
1.3判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间。
[root@manage 20221228]# vim homework1.sh
result=`df -h | grep "/dev/mapper/rhel-root" | tr -s " " | cut -d " " -f 4 | sed s/G//`
if [ $result = 20 ];then
echo "磁盘剩余20G"
elif
[ $result -lt 25 ]
then
`echo "内存小于25G" | mail -s "预警处理" root` 发送邮件
fi
发送邮件:
需要安装邮件服务器
yum install -y sendmail
yum install -y mailx
然后启动邮件服务器
systemctl start sendmail
命令:
echo “内容” | mail -s “邮件标题” 发给用户