shell条件测试作业

文章讲述了如何在Linux环境中设置磁盘空间监测,当磁盘剩余空间小于20G时发送报警邮件给管理员。同时,介绍了判断Web服务是否运行的方法以及在服务未运行时自动启动服务并配置防火墙规则的脚本。最后,展示了使用curl检查Web服务是否可达的脚本及其执行情况。
摘要由CSDN通过智能技术生成

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

1.安装邮件服务

[root@node1 ~]# yum install s-nail -y

2.配置邮件服务

[root@node1 ~]# vim /etc/s-nail.rc

 末尾添加以下内容:

set from=1298303527@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=1298303527@qq.com
set smtp-auth-password=rbrf***mahegafh
set smtp-auth=login

3.新建脚本文件diskwarn.sh

[root@node1 ~]# vim diskwarn.sh

输入以下脚本内容 :

#!/bin/bash

disk=$(df -m | grep -w / | tr -s " " | cut -d " " -f4)
if (($disk<20480))
then
     echo "磁盘容量小于20GB,请注意!" | mail -s "磁盘容量警告"  1298303527@qq.com
fi

4.添加系统级别的计划任务

[root@node1 ~]# vim /etc/crontab

添加计划任务

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

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

1.新建脚本文件Web_sta.sh

[root@node1 ~]# vim Web_sta.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

2.执行脚本Web_sta.sh进行测试

[root@node1 ~]# sh Web_sta.sh 
httpd is already running

[root@node1 ~]# systemctl stop httpd
[root@node1 ~]# sh Web_sta.sh 
httpd not started,wating......
httpd is already running

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

1.新建脚本文件curl.sh

[root@node1 ~]# vim  curl.sh

 输入以下脚本内容: 

#!/bin/bash

ip_add=`ip a | grep ens160 |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 "Web not accessible."
        exit 12
fi

2.执行脚本Web_sta.sh进行测试

[root@node1 ~]# bash curl.sh 
Web not accessible.
[root@node1 ~]# systemctl restart httpd
[root@node1 ~]# bash curl.sh 
Web server is running.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值