编写httpd监控脚本,要求可以输入start|stop|restart|status
[root@localhost mnt]# vim httpd.sh
#!/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 "请输入选择:" a
case $a in
A)
echo -e "\033[31m `systemctl start httpd | echo "已经开启"` \033[0m "
;;
B)
echo -e " \033[32m `systemctl stop httpd | echo "已经关闭"` \033[0m "
;;
C)
echo -e " \033[33m `systemctl restart httpd | echo "重启成功"` \033[0m "
;;
D)
echo -e " \033[34m `systemctl status httpd|grep "Active"|awk '{print $3}'|awk -F"(" '{print $2}'|awk -F")" '{print $1}'` \033[0m "
;;
Q)
exit 1
;;
esac
done
#!/bin/bash
. /etc/init.d/functions
rpm -qa httpd &> /dev/null
if [ $? -eq 0 ];then
yum install -y httpd >> /dev/null
else
echo "httpd is already installed"
fi
if [ $# -lt 1 ];then
echo "Usage: $0 {start|stop|restart|status}"
fi
case $1 in
start)
systemctl start httpd
if [ `netstat -antlpe | grep httpd | wc -l` -eq 1 ];then
echo "httpd is starting"
fi
;;
stop)
systemctl stop httpd
if [ `netstat -antlpe | grep httpd | wc -l` -eq 0 ];then
echo "httpd is stopping"
fi
;;
restart)
if [ `netstat -antlpe | grep httpd | wc -l` -eq 0 ];then
echo "httpd is stoping"
fi
if [ `netstat -antlpe | grep httpd | wc -l` -eq 1 ];then
systemctl restart httpd
fi
;;
status)
if [ `netstat -antlpe | grep httpd | wc -l` -eq 0 ];then
echo "httpd is stoped"
fi
if [ `netstat -antlpe | grep httpd | wc -l` -eq 1 ];then
echo "httpd is started"
fi
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
;;
esac