线上多服务管理工具实例剖析

线上多服务管理工具实例剖析,第1张

线上多服务管理工具实例剖析

企业网上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博主有所帮助。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/784168.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-04
下一篇 2022-05-04

发表评论

登录后才能评论

评论列表(0条)

保存