一个http服务的监控脚本

脚本:

#!/bin/bash
while true
do
   echo -e "
   \033[31m A 开启服务 \033[0m
   \033[32m B 关闭服务 \033[0m
   \033[33m C 重启服务 \033[0m
   \033[34m D 查看当前的服务状态 \033[0m
   \033[35m Q 退出 \033[0m
"
read -p "请输入你的选择:" char
state=$(systemctl status httpd |grep 'Active' |awk '{print $3}')

case $char in
a|A)
    if [ $state == "(dead)" ]; then
       systemctl start httpd
       echo "服务开启从成功!!!"
    else
       echo "服务已经处于开启状态!!!"
    fi
    ;;

b|B)
    if [ $state == "(running)" ];then
      systemctl stop httpd
      echo "服务关闭成功!!!"
    else
      echo "服务已经处于关闭状态!!!!"
    fi
    ;;

c|C)
    if [ $state == "(dead)" ];then
      echo  "请先开启服务!!"
    elif [ $state == "(running)" ]; then
      systemctl restart httpd
      echo "服务重启成功!!!"
    fi
    ;;
d|D)
    echo "$state"
    ;;
q|Q)
    exit 0  ##0是正常退出,1是错误退出
    ;;

esac
done

测试:

一个http服务的监控脚本

一个http服务的监控脚本

一个http服务的监控脚本