思路:rpm -q 判断软件包是否安装,pgrep判断服务是否启动
#!/bin/bash
#检测安装函数
check_install() {
rpm -q $1 &>/dev/null
if [ $? -eq 0 ];then#判断是否已经安装软件包
echo "$1 software is already installed,checking..."
else
while :
do
read -p "$1 not installed,do you want to install it ?(y or n)" n
case $n in
y)
echo "installing..."#安装提示
yum install -y $1 &>/dev/null#不显示输出信息
if [ $? -eq 0 ];then
echo "$1 installation successful !"
break#安装成功退出循环
else
echo "No such $1 software !"
exit 1#无软件包退出脚本
fi
;;
n)
echo "bye!"
exit 1#不安装退出脚本
;;
*)
echo "please input y or n. "#提示输入y 或者n
continue
;;
esac
done
fi
}
#检测服务启动函数
server_start() {
case $1 in
y)
echo "starting..."#启动提示
service $2 start &> /dev/null#不显示输出信息
if [ $? -eq 0 ];then
echo "$2 service started successfully! "
break#启动成功退出循环
else
echo "$2 service started failed!"
break#启动失败退出循环
fi
;;
n)
echo "bye!"
exit 2#不启动退出脚本
;;
*)
echo "please input y or n. "#提示输入y 或者n
continue
;;
esac
}
if [ $# -ne 1 ];then #判断输入参数是否为1
echo "please input a parameter!"
exit
fi
check_install $1#调用函数
if [ $? -eq 0 ];then#判断安装是否成功
if ! pgrep $1 2> /dev/null;then
while :
do
read -p "$1 server is not started,do you want to start it ? (y or n)" ser
server_start $ser $1#调用函数
done
else
echo "$1 service is already started!"
fi
fi
以httpd为例,使用:sh server_check.sh httpd
48.检测服务状态脚本
原创Margotchen 博主文章分类:shell应用100 ©著作权
©著作权归作者所有:来自51CTO博客作者Margotchen的原创作品,谢绝转载,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
java检测当前CPU负载状态
java检测当前CPU负载状态的方法详解。
java System Windows linux -
定时检测服务状态脚本实现
1、定时监测服务状态需求背景: 当前有一
java 搜索引擎 百度 -
检测网站状态脚本
检测网站状态脚本
检测网站状态脚本 -
shell脚本检测服务
本文主要简单介绍怎么实现用计划任务来执行shell脚本并检测服务是否正常运行!
检测 服务 是否正常 启动脚本 -
WEB服务健康状态检测
更多内容请访问 李兴利博客
nginx python