本范例是一个启停Tomcat的脚本,做简单的修改就能扩展到其他的应用
#!/bin/bash
############################################################################
### server.sh ###
#******************************************************************************************************** #
### using for seivce control ###
### usage: ./server.sh [start|stop|restart|log] ###
### Written by xiaoxs ###
############################################################################
#定义变量
tomcat_home=/usr/local/tomcat
SHUTDOWN=$tomcat_home/bin/shutdown.sh
START=$tomcat_home/bin/startup.sh
case $1 in
#启动服务
start)
$START
echo "服务正在启动,请等待"
#等待5秒钟,并打印五个点
for (( i = 1; i <= 5; i++ )) do echo -n ".";sleep 1;done
#判断服务是否启动,方法一:
if ps -ef | grep tomcat | grep -v grep >/dev/null; then
echo -e "\n服务启动成功"
#elif用法举例
#elif ps -ef | grep webservice | grep -v grep >/dev/null; then
# echo "服务webservice启动成功"
else
echo -e "\n服务没有启动,请查看原因"
fi
;;
#关闭服务
stop)
#判断服务是否开启
ps -ef |grep tomcat | grep -v grep >/dev/null
if [ $? -ne 0 ]; then
echo -e "服务未开启"
else
echo "正在关闭服务,请等待"
$SHUTDOWN
ps -ef |grep tomcat | grep -v grep |awk '{print $2}' | xargs kill -9
#等待3秒钟,并打印三个点
for (( i = 1; i <= 3; i++ )) do echo -n ".";sleep 1;done
#判断服务是否关闭,方法二:
ps -ef |grep tomcat | grep -v grep >/dev/null
if [ $? -ne 0 ]; then
echo -e "\n服务已关闭"
else
echo -e "\n服务关闭失败,请查看原因"
fi
fi
;;
#重启服务
restart)
#判断服务是否开启
ps -ef |grep tomcat | grep -v grep >/dev/null
if [ $? -ne 0 ]; then
echo -e "服务未开启"
else
echo "正在关闭服务,请等待"
$SHUTDOWN
ps -ef |grep tomcat | grep -v grep |awk '{print $2}' | xargs kill -9
#等待3秒钟,并打印三个点
for (( i = 1; i <= 3; i++ )) do echo -n ".";sleep 1;done
echo echo -e "\n服务正在启动,请等待"
$START
#等待5秒钟,并打印五个点
for (( i = 1; i <= 5; i++ )) do echo -n ".";sleep 1;done
#判断服务是否启动,方法一:
if ps -ef | grep tomcat | grep -v grep >/dev/null; then
echo -e "\n服务启动成功"
else
echo -e "\n服务没有启动,请查看原因"
fi
fi
;;
#查看启动日志
logs)
tail -f /usr/local/tomcat/logs/catalina.out
;;
esac