企业网上nginx、tomcat、jar包的java中使用的服务管理脚本之前都是独立分离的,导致了运维管理人员在堡垒机器上进行服务管理的不便。特别是当这种服务管理架构被包含在自动化技术管理系统中时,没有统一的服务管理套接字来应用它。
所以在空的情况下,我还把服务管理方法的几个脚本组合起来,做成一个专用工具,减少了服务管理的无序性。
空话不多说,下面是脚本内容。文末我可以简单详细介绍一下剧本的思路。
#!/bin/bash # # 本脚本用于系统对上的多服务开展管理方法实际 *** 作 # 现阶段仅适用nginx、tomcat和jar包类的java运用开展管理方法实际 *** 作 # Written by sunsky # Mail : 274546888@qq.com # Date : 2014-11-26 15:00:00 # function USAGE { echo -e "\033[31m脚本名字: \033[37m" echo " $0" echo -e "\033[31m句法结构: \033[37m" echo " $0 {nginx|tomcat|*service} {start|stop|restart|status}" echo -e "\033[31m应用案例: \033[37m" echo " $0 nginx start" echo " $0 tomcat restart" echo " $0 vin-service status" echo -e "\033[31m常见问题: \033[37m" echo " 1. 该脚本管理方法的文件目录务必遵照以下标准:" echo " a) nginx 布署途径务必可以ss="superseo">ss="superseo">根据 /usr/local/nginx 浏览到" echo " b) tomcat 布署途径务必可以根据 /usr/local/tomcat 浏览到" echo " c) service 类服务的布署途径务必可以根据 /home/apps/service类新项目名/current/ 浏览到" echo " 2. \$1(服务种类)和\$2(实际 *** 作)主要参数务必存有" exit 2 } function CAT_FUWU { if [ -z $PID ];then case $SIGNAL in start|restart) echo "已经起动 $FUWU 服务" ;; stop) echo "$FUWU 服务早已关掉" exit ;; status) echo "$FUWU 服务处在关掉" ;; esac else case $SIGNAL in start) echo "$FUWU 服务早已打开" exit 0 ;; stop|restart) echo "你所需干掉的 $FUWU 服务相匹配的过程号为 $PID" ;; status) echo "$FUWU 服务现阶段已经运作,相匹配的过程号为 $PID" ;; esac fi } function KILL_FUWU { if [[ $PID != "" ]];then for i in $PID;do kill $PID >/dev/null 2>&1 sleep 3 kill -9 $PID >/dev/null 2>&1 done fi } function START_NGINX { /usr/local/nginx/sbin/nginx PID=`ps -ef|awk '$0~"nginx"&&$0~"master"&&$0!~"awk"{print $2}'` echo "$FUWU 服务早已起动,它所相匹配的过程号为 $PID" } function START_TOMCAT { /bin/bash /usr/local/tomcat/bin/startup.sh >& /dev/null PID=`ps aux|awk '$0~"java"&&$0~"tomcat"&&$0!~"awk"{print $2}'` echo "$FUWU 服务早已起动,它所相匹配的过程号为 $PID" } function START_SERVICE { /bin/bash /home/apps/$FUWU/current/startup.sh & PID=`ps -ef|awk '$0~"'$FUWU'"&&$0~"jar"&&$0!~"awk"{print $2}'` echo "$FUWU 服务早已起动,它所相匹配的过程号为 $PID" } function FUWU_LIST { case $SIGNAL in start) CAT_FUWU $1 ;; stop) CAT_FUWU KILL_FUWU ;; restart) CAT_FUWU KILL_FUWU $1 ;; status) CAT_FUWU ;; *) USAGE ;; esac } function NGINX { PID=`ps -ef|awk '$0~"nginx"&&$0~"master"&&$0!~"awk"{print $2}'` FUWU_LIST START_NGINX } function TOMCAT { PID=`ps aux|awk '$0~"java"&&$0~"tomcat"&&$0!~"awk"{print $2}'` FUWU_LIST START_TOMCAT } function SERVICE { if [ ! -f /home/apps/$FUWU/current/startup.sh ];then USAGE fi PID=`ps -ef|awk '$0~"'$FUWU'"&&$0~"jar"&&$0!~"awk"{print $2}'` FUWU_LIST START_SERVICE } if [ $# -lt 2 ];then USAGE fi FUWU=$1 SIGNAL=$2 case $1 in nginx) NGINX ;; tomcat) TOMCAT ;; *service) SERVICE ;; *) USAGE ;; esac以上,是所有脚本的内容。
在这个脚本中,我把查询服务信息内容、查杀服务、服务管理姿态等实际 *** 作做成了重要的功能,对启动各个应用的实际 *** 作做了独立的控制模块。虽然现阶段只集成了nginx,tomcat,jar包类的java应用,但是如果中后期有其他服务的话还是很方便的。
下面是每个控制模块的详细介绍:
USAGE # 协助控制模块喽 CAT_FUWU # 用以在接受到客户实际 *** 作时,分辨服务当今情况并给与恰当相对 KILL_FUWU # 承担干掉服务的公共性控制模块 START_NGINX # 承担起动NGINX运用的控制模块 START_TOMCAT # 承担起动TOMCAT运用的控制模块 START_SERVICE # 承担起动JAR包类的JAVA运用的控制模块 FUWU_LIST # 承担回应单独服务实际 *** 作的公共性目录 NGINX # 结合NGINX管理方法实际 *** 作的控制模块 TOMCAT # 结合TOMCAT管理实际 *** 作的控制模块 SERVICE # 结合JAR包类JAVA程序管理实际 *** 作的控制模块下面附上脚本实现设计效果图:
好吧!以上是脚本内容,期待对51博主有所帮助。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)