精华内容
下载资源
问答
  • rsync启动停止脚本

    千次阅读 2018-11-12 10:30:41
    rsync 启动停止脚本 #!/bin/bash #this script for start|stop rsync daemon service #date:2012/2/13 status1=$(ps -ef | egrep "rsync --daemon.*rsyncd.conf" | grep -v 'grep') pidfile=&...
      
    
     
    rsync 启动停止脚本
    
    #!/bin/bash 
     
    #this script for start|stop rsync daemon service 
    #date:2012/2/13 
     
    status1=$(ps -ef | egrep "rsync --daemon.*rsyncd.conf" | grep -v 'grep') 
    pidfile="/etc/rsync/rsyncd.pid" 
    start_rsync="rsync --daemon --config=/etc/rsync/rsyncd.conf" 
     
    function rsyncstart() { 
     
        if [ "${status1}X" == "X" ];then 
     
            rm -f $pidfile       
     
            ${start_rsync}   
     
            status2=$(ps -ef | egrep "rsync --daemon.*rsyncd.conf" | grep -v 'grep') 
             
            if [  "${status2}X" != "X"  ];then 
                 
                echo "rsync service start.......OK" 
                 
            fi 
     
        else 
     
            echo "rsync service is running !"    
     
        fi 
    } 
     
    function rsyncstop() { 
     
        if [ "${status1}X" != "X" ];then 
         
            kill -9 $(cat $pidfile) 
     
            status2=$(ps -ef | egrep "rsync --daemon.*rsyncd.conf" | grep -v 'grep') 
     
            if [ "${statusw2}X" == "X" ];then 
                 
                echo "rsync service stop.......OK" 
            fi 
        else 
     
            echo "rsync service is not running !"    
     
        fi 
    } 
     
     
    function rsyncstatus() { 
     
     
        if [ "${status1}X" != "X" ];then 
     
            echo "rsync service is running !"   
         
        else 
     
             echo "rsync service is not running !"  
     
        fi 
     
    } 
     
    function rsyncrestart() { 
     
        if [ "${status1}X" == "X" ];then 
     
                   echo "rsync service is not running..." 
     
                   rsyncstart 
            else 
     
                   rsyncstop 
     
                   rsyncstart    
     
            fi       
    }  
     
    case $1 in 
     
            "start") 
                   rsyncstart 
                    ;; 
     
            "stop") 
                   rsyncstop 
                    ;; 
     
            "status") 
                   rsyncstatus 
                   ;; 
     
            "restart") 
                   rsyncrestart 
                   ;; 
     
            *) 
              echo 
                    echo  "Usage: $0 start|stop|restart|status" 
              echo 
    esac 

     

    展开全文
  • 本周刚好研究了一下dubbo的启动脚本,所以在官网的启动脚本和公司内部的启动脚本做了一个整理,弄了一份比较通过的Dubbo应用启动和停止脚本。  下面的脚本只应用于配置分离的应用,什么叫做配置分离呢?就是使用...

            本周刚好研究了一下dubbo的启动脚本,所以在官网的启动脚本和公司内部的启动脚本做了一个整理,弄了一份比较通过的Dubbo应用启动和停止脚本。

             下面的脚本只应用于配置分离的应用,什么叫做配置分离呢?就是使用maven打包时,借助assemble插件,打一个tar.gz的压缩包。里面有三个目录。bin目录,用来存放启动与停止的脚本,lib目录,用来存放相关依赖的jar包,注意,这里每个jar包都是单独的,而不是一个大的jar包。conf目录,用来存放配置文件,包括dubbo.property,applicatiom.xml等文件。

    工程解压后如下图:

    本文脚本免费下载

    1、启动脚本

    详细的注释都已写在脚本中,请看具体的注释

     

    #!/bin/bash
    cd `dirname $0`
    
    #当前路径
    BIN_DIR=`pwd`
    
    #向上一层路径
    cd ..
    DEPLOY_DIR=`pwd`
    echo $DEPLOY_DIR
    
    #配置文件路径
    CONF_DIR=$DEPLOY_DIR/conf
    #日志输出路径
    LOGS_DIR=$DEPLOY_DIR/logs
    
    # 如果JDK环境变量没有写到全局要添加如下几行
    # JAVA_HOME=/opt/java/jdk1.6.0_45
    # PATH=$JAVA_HOME/bin:$PATH
    # export JAVA_HOME
    # export PATH
    
    #从dubbo.properties取得应用名、端口号,端口名
    SERVER_NAME=`sed '/dubbo.application.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
    SERVER_PROTOCOL_NAME=`sed '/dubbo.protocol.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
    SERVER_PROTOCOL_PORT=`sed '/dubbo.protocol.port/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
    
    #应用名为空的话就取当前系统名
    if [ -z "$SERVER_NAME" ]; then
        echo "SERVER_NAME is empty"
        SERVER_NAME=`hostname`
    fi
    
    #根据配置文件路径去查找当前是否已有dubbo应用启动起来
    APP_PID=`ps -ef -ww | grep "java" | grep " -DappName=$SERVER_NAME " | awk '{print $2}'`
    echo "SERVER_NAME: $SERVER_NAME"
    echo "SERVER_PROTOCOL_NAME: $SERVER_PROTOCOL_NAME"
    echo "SERVER_PROTOCOL_PORT: $SERVER_PROTOCOL_PORT"
    echo "APP_PID: $APP_PID" 
    
    #APP_PID不为空,说明应用已启动,直接退出
    if [ -n "$APP_PID" ]; then
        echo "ERROR: The $SERVER_NAME already started!"
        echo "PID: $APP_PID"
        exit 1
    fi
    
    #检查端口是否被占用
    if [ -n "$SERVER_PROTOCOL_PORT" ]; then
        SERVER_PORT_COUNT=`netstat -tln | grep $SERVER_PROTOCOL_PORT | wc -l`
        if [ $SERVER_PORT_COUNT -gt 0 ]; then
            echo "ERROR: The $SERVER_NAME port $SERVER_PROTOCOL_PORT already used!"
            exit 1
        fi
    fi
    
    
    #如果logs目录不存在,就创建一个
    if [ ! -d $LOGS_DIR ]; then
        mkdir $LOGS_DIR
    fi
    
    echo "LOGS_DIR :$LOGS_DIR"
    
    #控制台日志输出收集位置
    STDOUT_FILE=$LOGS_DIR/stdout.log
    
    #依赖jar包目录
    LIB_DIR=$DEPLOY_DIR/lib
    
    #将上面的jar文件名称,拼接上lib的路径然后输出
    LIB_JARS=`ls $LIB_DIR|grep .jar|awk '{print "'$LIB_DIR'/"$0}'|tr "\n" ":"`
    
    #-DappName指定应用名
    JAVA_OPTS="-DappName=$SERVER_NAME -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Ddubbo.shutdown.hook=true"
    
    #调试模式
    JAVA_DEBUG_OPTS=""
    if [ "$1" = "debug" ]; then
        JAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n "
    fi
    JAVA_JMX_OPTS=""
    if [ "$1" = "jmx" ]; then
        JAVA_JMX_OPTS=" -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "
    fi
    
    
    #首先将java版本号信息输出到标准输出,然后查找’64-bit’信息,目的就是判断jdk版本是否为64位
    
    JAVA_MEM_OPTS=""
    BITS=`java -version 2>&1 | grep -i 64-bit`
    
    #JVM启动基本参数,这里根据应用自行调整
    JAVA_MEM_SIZE_OPTS="-Xmx768m -Xms378m -Xmn256m -XX:PermSize=64m -XX:MaxPermSize=256M -Xss256k"
    
    #根据32位和64位配置不同的启动java垃圾回收参数,根据应用自行调整
    if [ -n "$BITS" ]; then
        JAVA_MEM_OPTS=" -server $JAVA_MEM_SIZE_OPTS -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "
    else
        JAVA_MEM_OPTS=" -server $JAVA_MEM_SIZE_OPTS -XX:SurvivorRatio=2 -XX:+UseParallelGC "
    fi
    
    echo -e "Starting the $SERVER_NAME ...\c"
    echo "启动参数:java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS $JAVA_PROPERTIES_OPTS -classpath $CONF_DIR:$LIB_JARS com.alibaba.dubbo.container.Main"
    
    #通过java命令启动服务,同时将其作为后台任务执行。
    nohup java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS -classpath $CONF_DIR:$LIB_JARS com.alibaba.dubbo.container.Main > $STDOUT_FILE 2>&1 &
    
    #睡眠一下再检查应用是否启动,下面这里注释打开的话,就把最下面的那一段注释掉
    #sleep 1
    #APP_PID=`ps -f | grep java | grep "$CONF_DIR" |awk '{print $2}'`
    
    #if [ -z "$APP_PID" ]; then
        #echo "START APP FAIL!"
        #echo "STDOUT: $STDOUT_FILE"
        #exit 1
    #fi
    
    #echo "START  SUCCESSED APP_PID: $APP_PID"
    #echo "STDOUT: $STDOUT_FILE"
    
    
    #grep -c 阻止正常的结果输出,转而输出匹配的结果数量,这里就是输出OK的个数。
    COUNT=0
    while [ $COUNT -lt 1 ]; do    
        echo -e ".\c"
        sleep 1
        if [ -n "$SERVER_PROTOCOL_PORT" ]; then
            if [ "$SERVER_PROTOCOL_NAME" == "dubbo" ]; then
                COUNT=`echo status | nc -i 1 127.0.0.1 $SERVER_PROTOCOL_PORT | grep -c OK`
            else
                COUNT=`netstat -an | grep $SERVER_PROTOCOL_PORT | wc -l`
            fi
        else
            COUNT=`ps -f | grep java | grep "$DEPLOY_DIR" | awk '{print $2}' | wc -l`
        fi
        if [ $COUNT -gt 0 ]; then
            break
        fi
    done
    echo "OK!"
    APP_PID=`ps -ef -ww | grep "java" | grep " -DappName=$SERVER_NAME " | awk '{print $2}'`
    echo "START  SUCCESSED APP_PID: $APP_PID"
    echo "STDOUT: $STDOUT_FILE"

    直接执行上面脚本sh start.sh,输出内容如下:

    到logs/stdout.log可查看详细启动过程以及失败信息等

    还可以使用命令ps -ef|grep java确定应用是否起来:

    或者看Dubbo的监控页面也可查看服务是否注册上去:

    2、停止

    停止就更加简单了,就是根据应用名找到pid,然后kill。

     

    #!/bin/bash
    cd `dirname $0`
    
    #当前路径
    BIN_DIR=`pwd`
    
    #向上一层路径
    cd ..
    DEPLOY_DIR=`pwd`
    echo $DEPLOY_DIR
    
    #配置文件路径
    CONF_DIR=$DEPLOY_DIR/conf
    #日志输出路径
    LOGS_DIR=$DEPLOY_DIR/logs
    
    # 如果JDK环境变量没有写到全局要添加如下几行
    # JAVA_HOME=/opt/java/jdk1.6.0_45
    # PATH=$JAVA_HOME/bin:$PATH
    # export JAVA_HOME
    # export PATH
    
    #从dubbo.properties取得应用名、端口号,端口名
    SERVER_NAME=`sed '/dubbo.application.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
    SERVER_PROTOCOL_NAME=`sed '/dubbo.protocol.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
    SERVER_PROTOCOL_PORT=`sed '/dubbo.protocol.port/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
    
    #应用名为空的话就取当前系统名
    if [ -z "$SERVER_NAME" ]; then
        echo "SERVER_NAME is empty"
        SERVER_NAME=`hostname`
    fi
    
    #根据配置文件路径去查找当前是否已有dubbo应用启动起来
    APP_PID=`ps -ef -ww | grep "java" | grep " -DappName=$SERVER_NAME " | awk '{print $2}'`
    echo "SERVER_NAME: $SERVER_NAME"
    echo "SERVER_PROTOCOL_NAME: $SERVER_PROTOCOL_NAME"
    echo "SERVER_PROTOCOL_PORT: $SERVER_PROTOCOL_PORT"
    echo "APP_PID: $APP_PID" 
    
    #APP_PID不为空,说明应用已启动,直接退出
    if [ -n "$APP_PID" ]; then
        echo "ERROR: The $SERVER_NAME already started!"
        echo "PID: $APP_PID"
        exit 1
    fi
    
    #检查端口是否被占用
    if [ -n "$SERVER_PROTOCOL_PORT" ]; then
        SERVER_PORT_COUNT=`netstat -tln | grep $SERVER_PROTOCOL_PORT | wc -l`
        if [ $SERVER_PORT_COUNT -gt 0 ]; then
            echo "ERROR: The $SERVER_NAME port $SERVER_PROTOCOL_PORT already used!"
            exit 1
        fi
    fi
    
    
    #如果logs目录不存在,就创建一个
    if [ ! -d $LOGS_DIR ]; then
        mkdir $LOGS_DIR
    fi
    
    echo "LOGS_DIR :$LOGS_DIR"
    
    #控制台日志输出收集位置
    STDOUT_FILE=$LOGS_DIR/stdout.log
    
    #依赖jar包目录
    LIB_DIR=$DEPLOY_DIR/lib
    
    #将上面的jar文件名称,拼接上lib的路径然后输出
    LIB_JARS=`ls $LIB_DIR|grep .jar|awk '{print "'$LIB_DIR'/"$0}'|tr "\n" ":"`
    
    #-DappName指定应用名
    JAVA_OPTS="-DappName=$SERVER_NAME -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Ddubbo.shutdown.hook=true"
    
    #调试模式
    JAVA_DEBUG_OPTS=""
    if [ "$1" = "debug" ]; then
        JAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n "
    fi
    JAVA_JMX_OPTS=""
    if [ "$1" = "jmx" ]; then
        JAVA_JMX_OPTS=" -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "
    fi
    
    
    #首先将java版本号信息输出到标准输出,然后查找’64-bit’信息,目的就是判断jdk版本是否为64位
    
    JAVA_MEM_OPTS=""
    BITS=`java -version 2>&1 | grep -i 64-bit`
    
    #JVM启动基本参数,这里根据应用自行调整
    JAVA_MEM_SIZE_OPTS="-Xmx768m -Xms378m -Xmn256m -XX:PermSize=64m -XX:MaxPermSize=256M -Xss256k"
    
    #根据32位和64位配置不同的启动java垃圾回收参数,根据应用自行调整
    if [ -n "$BITS" ]; then
        JAVA_MEM_OPTS=" -server $JAVA_MEM_SIZE_OPTS -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "
    else
        JAVA_MEM_OPTS=" -server $JAVA_MEM_SIZE_OPTS -XX:SurvivorRatio=2 -XX:+UseParallelGC "
    fi
    
    echo -e "Starting the $SERVER_NAME ...\c"
    echo "启动参数:java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS $JAVA_PROPERTIES_OPTS -classpath $CONF_DIR:$LIB_JARS com.alibaba.dubbo.container.Main"
    
    #通过java命令启动服务,同时将其作为后台任务执行。
    nohup java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS -classpath $CONF_DIR:$LIB_JARS com.alibaba.dubbo.container.Main > $STDOUT_FILE 2>&1 &
    
    #睡眠一下再检查应用是否启动,下面这里注释打开的话,就把最下面的那一段注释掉
    #sleep 1
    #APP_PID=`ps -f | grep java | grep "$CONF_DIR" |awk '{print $2}'`
    
    #if [ -z "$APP_PID" ]; then
        #echo "START APP FAIL!"
        #echo "STDOUT: $STDOUT_FILE"
        #exit 1
    #fi
    
    #echo "START  SUCCESSED APP_PID: $APP_PID"
    #echo "STDOUT: $STDOUT_FILE"
    
    
    #grep -c 阻止正常的结果输出,转而输出匹配的结果数量,这里就是输出OK的个数。
    COUNT=0
    while [ $COUNT -lt 1 ]; do    
        echo -e ".\c"
        sleep 1
        if [ -n "$SERVER_PROTOCOL_PORT" ]; then
            if [ "$SERVER_PROTOCOL_NAME" == "dubbo" ]; then
                COUNT=`echo status | nc -i 1 127.0.0.1 $SERVER_PROTOCOL_PORT | grep -c OK`
            else
                COUNT=`netstat -an | grep $SERVER_PROTOCOL_PORT | wc -l`
            fi
        else
            COUNT=`ps -f | grep java | grep "$DEPLOY_DIR" | awk '{print $2}' | wc -l`
        fi
        if [ $COUNT -gt 0 ]; then
            break
        fi
    done
    echo "OK!"
    APP_PID=`ps -ef -ww | grep "java" | grep " -DappName=$SERVER_NAME " | awk '{print $2}'`
    echo "START  SUCCESSED APP_PID: $APP_PID"
    echo "STDOUT: $STDOUT_FILE"

     

    sh stop.sh

    执行后输出结果:

    详细的输出日志可用/logs/shell.log文件查看

    如果想输出dump文件,执行

    sh stop.sh dump

    其中dump.sh内容如下:

     

    #!/bin/bash
    cd `dirname $0`
    BIN_DIR=`pwd`
    cd ..
    DEPLOY_DIR=`pwd`
    CONF_DIR=$DEPLOY_DIR/conf
    
    # 如果JDK环境变量没有写到全局要添加如下几行
    # JAVA_HOME=/opt/java/jdk1.6.0_45
    # PATH=$JAVA_HOME/bin:$PATH
    # export JAVA_HOME
    # export PATH
    
    SERVER_NAME=`sed '/^app.process.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
    
    if [ -z "$SERVER_NAME" ]; then
        SERVER_NAME=`hostname`
    fi
    
    PIDS=`ps -ef -ww | grep "java" | grep " -DappName=$SERVER_NAME " | awk '{print $2}'`
    if [ -z "$PIDS" ]; then
        echo "ERROR: The $SERVER_NAME does not started!"
        exit 1
    fi
    
    LOGS_DIR=$DEPLOY_DIR/logs
    if [ ! -d "$LOGS_DIR" ]; then
    	mkdir -p "$LOGS_DIR"
    fi
    DUMP_DIR=$LOGS_DIR/dump
    if [ ! -d $DUMP_DIR ]; then
    	mkdir $DUMP_DIR
    fi
    DUMP_DATE=`date +%Y%m%d%H%M%S`
    DATE_DIR=$DUMP_DIR/$DUMP_DATE
    if [ ! -d $DATE_DIR ]; then
    	mkdir $DATE_DIR
    fi
    
    echo -e "Dumping the $SERVER_NAME ...\c"
    for PID in $PIDS ; do
    	jstack $PID > $DATE_DIR/jstack-$PID.dump 2>&1
    	echo -e ".\c"
    	jinfo $PID > $DATE_DIR/jinfo-$PID.dump 2>&1
    	echo -e ".\c"
    	jstat -gcutil $PID > $DATE_DIR/jstat-gcutil-$PID.dump 2>&1
    	echo -e ".\c"
    	jstat -gccapacity $PID > $DATE_DIR/jstat-gccapacity-$PID.dump 2>&1
    	echo -e ".\c"
    	jmap $PID > $DATE_DIR/jmap-$PID.dump 2>&1
    	echo -e ".\c"
    	jmap -heap $PID > $DATE_DIR/jmap-heap-$PID.dump 2>&1
    	echo -e ".\c"
    	jmap -histo $PID > $DATE_DIR/jmap-histo-$PID.dump 2>&1
    	echo -e ".\c"
    	if [ -r /usr/sbin/lsof ]; then
    	/usr/sbin/lsof -p $PID > $DATE_DIR/lsof-$PID.dump
    	echo -e ".\c"
    	fi
    done
    
    if [ -r /bin/netstat ]; then
    /bin/netstat -an > $DATE_DIR/netstat.dump 2>&1
    echo -e ".\c"
    fi
    if [ -r /usr/bin/iostat ]; then
    /usr/bin/iostat > $DATE_DIR/iostat.dump 2>&1
    echo -e ".\c"
    fi
    if [ -r /usr/bin/mpstat ]; then
    /usr/bin/mpstat > $DATE_DIR/mpstat.dump 2>&1
    echo -e ".\c"
    fi
    if [ -r /usr/bin/vmstat ]; then
    /usr/bin/vmstat > $DATE_DIR/vmstat.dump 2>&1
    echo -e ".\c"
    fi
    if [ -r /usr/bin/free ]; then
    /usr/bin/free -t > $DATE_DIR/free.dump 2>&1
    echo -e ".\c"
    fi
    if [ -r /usr/bin/sar ]; then
    /usr/bin/sar > $DATE_DIR/sar.dump 2>&1
    echo -e ".\c"
    fi
    if [ -r /usr/bin/uptime ]; then
    /usr/bin/uptime > $DATE_DIR/uptime.dump 2>&1
    echo -e ".\c"
    fi
    
    echo "OK!"
    echo "DUMP: $DATE_DIR"
    

    这是dump文件

    更多技术请关注笔者微信技术公众号"单例模式"

     

     

    本文脚本免费下载

    展开全文
  • autojs之停止脚本的6种方法

    千次阅读 2021-03-22 18:22:35
    停止所有正在运行的脚本 engines.stopAll(); 停止所有正在运行的脚本并显示停止脚本数量 engines.stopAllAndToast(); 停止自己 engines.myEngine().forceStop(); 停止他人 engines.all().map(...
    1. 停止所有正在运行的脚本
    engines.stopAll();
    
    1. 停止所有正在运行的脚本并显示停止的脚本数量
    engines.stopAllAndToast();
    
    1. 停止自己
    engines.myEngine().forceStop();
    
    1. 停止他人
    engines.all().map((ScriptEngine) => {
      if (engines.myEngine().toString() !== ScriptEngine.toString()) {
        ScriptEngine.forceStop();
      }
    });
    
    1. 终止当前运行的Java虚拟机
    java.lang.System.exit(0);
    
    1. 停止所有autojs进程(作者: 内个球)
    var nowPid = android.os.Process.myPid();
    var am = context.getSystemService(java.lang.Class.forName("android.app.ActivityManager"));
    var list = am.getRunningAppProcesses();
    for (var i = 0; i < list.size(); i++) {
      var info = list.get(i);
      if (info.pid != nowPid) {
        kill(info.pid);
      }
    }
    kill(nowPid);
    function kill(pid) {
      android.os.Process.killProcess(pid);
    }
    

    微信公众号 AutoJsPro教程

    在这里插入图片描述

    QQ群

    747748653

    在这里插入图片描述

    展开全文
  • consul 启动,停止脚本

    千次阅读 2020-09-28 11:58:42
    consul shell脚本(start),启动,停止(stop),重启脚本(restart),获取状态(status),本例采用的版本是consul-1.6.4 一、consul脚本-start,stop,restart,status APP_NAME=consul cd `dirname $0` BASE_DIR=`pwd` echo...

     

    目录

    前言

    一、consul脚本-start,stop,restart,status


     

    前言

    consul  shell脚本(start),启动,停止(stop),重启脚本(restart),获取状态(status),本例采用的版本是consul-1.6.4

    一、consul脚本-start,stop,restart,status

    APP_NAME=consul
    cd `dirname $0`
    BASE_DIR=`pwd`
    echo "$BASE_DIR"
    CONSUL_IP=10001
    #使用说明,用来提示输入参数  
    usage() {
        echo "Usage: sh login.sh [start|stop|restart]"  
        exit 1
    }
    
    #检查程序是否在运行  
    is_exist() {
        pid=`ps -ef | grep $APP_NAME | grep $BASE_DIR  | grep -v grep | awk '{print $2}' `
        #如果不存在返回1,存在返回0  
        if [ -z "${pid}" ]; then
          return 1
        else
          return 0
        fi
    }
    
    #启动方法  
    start() {
       is_exist
       if [ $? -eq "0" ]; then
         echo "${APP_NAME} is already running. pid=${pid} ."  
       else
         nohup ./consul-1.6.4/consul agent   -server  -bootstrap-expect 1   -config-dir=${BASE_DIR}/consul-1.6.4/config -data-dir=${BASE_DIR}/consul-1.6.4/data  -log-file=${BASE_DIR}/consul-1.6.4/log/consul_log.log -client 0.0.0.0 -ui >$BASE_DIR/consul.log  2>&1  &
         exit 0
       fi
    }
    
    #停止方法  
    stop() {
       is_exist
       if [ $? -eq "0" ]; then
         kill -9 $pid
       else
         echo "${APP_NAME} is not running"  
       fi
    }
    
    #输出运行状态  
    status() {
       is_exist
       if [ $? -eq "0" ]; then
         echo "${APP_NAME} is running. Pid is ${pid}"  
       else
         echo "${APP_NAME} is not running."  
       fi
    }
    
    #重启  
    restart() {
       stop
       start
    }
    
    #根据输入参数,选择执行对应方法,不输入则执行使用说明  
    case "$1" in
       "start")
         start
         ;;
       "stop")
         stop
         ;;
       "status")
         status
         ;;
       "restart")
         restart
         ;;
       *)
         usage
         ;;
    esac
    
    

     


    展开全文
  • Kafka 集群启动、停止脚本

    千次阅读 2019-05-04 16:54:10
    1.配置ssh免密码登录。 参考链接:... 2.编写启动脚本 创建启动脚本文件:start-kafkas.sh 编写脚本: #!/bin/sh for host in s202 s203 s204 do ssh $host "source /etc/p...
  • Python 启动/停止脚本(后台服务)

    万次阅读 2017-06-30 20:23:31
    若用命令行方式启动脚本,十分简单: ```Bash # python web_server.py ``` 但为了方便部署,想要把它做成一个服务(service),这样就可以用服务来控制它的启动/停止,而且便于在开机时自启动。
  • ElasticSearch 停止脚本(linux shell)

    千次阅读 2018-04-12 15:03:21
    最近安装了elasticSearch 5.4.0集群,但发现居然es不提供停止脚本!每次还得先jps或者ps aux找到es进程,再kill -9 杀死该进程,心累啊。 在网上也看到过类似 elasticsearch-servicewrapper 这种服务化插件,但死活...
  • java jar 启动和停止脚本

    千次阅读 2020-06-17 20:15:16
    linux 环境中后台启动jar 和停止时,通常需要用到一些shell命令。 java -jar ps -ef|grep java 特别麻烦,所以弄了个脚本,每次替换jar 文件就可以了。...停止脚本 新建stop.sh,填入一下内容: ps -e
  • 学习目标设置一键启动 Zookeeper 脚本设置一键停止 Zookeeper 脚本 设置一键启动 Zookeeper 脚本 进入目录 cd /export/servers/zookeeper-3.4.5-cdh5.14.0/bin/ 编写一键启动配置文件 vim zkStart-all.sh for host ...
  • Zookeeper集群自动启动停止脚本

    千次阅读 2018-01-19 16:58:49
    前提条件: 1、下面以主机hadoop1、hadoop2、hadoop3作为zookeeper集群。...startzk-all.sh 启动脚本内容如下: #!/bin/bash echo “Starting zk cluster ......” for i in {1..3} do ssh
  • jar运行和停止脚本

    千次阅读 2017-05-10 17:36:14
    启动脚本:!/usr/bin/env bashif [ -z “BROWSERHOME”];thenexportBROWSERHOME=”{BROWSER_HOME}” ]; then export BROWSER_HOME=”(cd “dirname "$0"“/..; pwd)” fi. “${BROWSER_HOME}”/conf/browser-env....
  • 编写一个服务程序后,通过这三个脚本去编译、执行、停止。 build.sh脚本文件 #!/bin/bash # 1.该行是如果出现错误,就退出脚本执行 set -e # ---设置基本环境变量start--------------------- export LC_ALL=en_...
  • 服务启动停止脚本

    千次阅读 2017-02-22 08:46:47
    #!/bin/bash case "$1" in start) echo "starting......" if [ -n "$PID" ]; then echo "myread is already running" exit else nohup your_cmd > message_queue_data.t
  • Ubuntu 16.04.05自定义启动与停止脚本

    千次阅读 2018-08-27 10:59:11
    1、start.sh(启动脚本) #!/bin/sh echo &quot;Service: \033[40G[\033[49;32;5mStart\033[0m]\n&quot;; # 启动Nginx /usr/local/nginx/sbin/nginx # 启动Php-fpm /usr/local/php/sbin/php-fpm # 启动...
  • storm集群启动/停止脚本

    千次阅读 2017-01-14 23:08:34
    storm集群启动脚本 在$STORM_HOME/bin下touch start-storm-cluster.sh并chmod a+x start-storm-cluster.sh#!/bin/bash #nimbus节点 nimbusServers='mini01 mini02'#supervisor节点 supervisorServers='mini01 mini...
  • linux停止正在执行脚本

    万次阅读 2017-01-03 20:33:02
    正在执行一个压力测试脚本bench.sh,但是想中途停止进程,不再执行了。 可以用’ps -ef | grep 进程名‘ 查出进程,然后kill该进程。 kill 的用法:kill [信号代码] 进程ID 注:信号代码可以省略;...
  • 停止运行此脚本

    千次阅读 2018-08-16 09:50:58
    环境:windows IE8+tomcat。 数据量10w左右,报表不分页。在IE8 下展现的时候浏览器提示: 为了解决此问题,我们可以在jsp里面添加一下代码。以供显示特大页面的报表使用。例如:一页里面上百行,几十列。...
  • linux java jar包启动停止脚本

    千次阅读 2018-09-01 07:33:57
    启动 脚本 #设置工程路径 project_path=/...cd $project_path #nohup后台启动,输出日志到epas.log nohup java -jar epas.jar &gt;epas.log &amp;...停止脚本 关闭指定端口进程 kill -9 $(netst...
  • MySql批处理启动、停止脚本

    千次阅读 2016-06-25 15:11:20
    一般人都知道,在自己机器上面装了MySql后,如果自动启动服务,在不需要的时候比较浪费资源,但是每次手动去启、停服务就比较麻烦,通过写.bat批处理脚本来执行操作就简单多了,操作方法如下: 新建记事本文件 ...
  • Linux Jenkins启动、停止脚本

    万次阅读 2017-12-25 09:59:32
    #停止方法 stop(){ echo "Stoping $JENKINSFILENAME " ps -ef|grep $JENKINSFILENAME |awk '{print $2}'|while read pid do kill -9 $pid echo " $pid kill" done } case "$1" in start) echo ...
  • 我们经常部署 SpringBoot 应用,一般将应用打包成 jar 包的方式上传至服务器,通过命令启动程序,我们每次都需要去手动敲命令来控制程序的启停,容易出错,我们可以通过脚本的方式,记住一些常用的命令 1、后端启动 ...
  • SpringBoot 项目在Linux服务器上启动、停止脚本 创建脚本 在jar包目录,创建脚本,实际项目只需要修改包名:xxxxxx vim xxxxxx.sh 脚本内容 #!/bin/bash cd `dirname $0` CUR_SHELL_DIR=`pwd` CUR_SHELL_NAME=`...
  • mysql 多实例启动和停止脚本

    千次阅读 2012-03-22 10:15:49
    mysql 多实例启动脚本: #!/bin/bash if [ "$1" == "" ] (输入要停止的mysq端口号) then  echo "Please input mysqld GNR number 110-112"(这是开启的端口号范围) elif ([ "$1" != "110" ] && [ "$1...
  • 单一启动脚本: vi start.sh #!/bin/bash echo starting java -jar joke.jar > log.file 2>...停止服务脚本: vi stop.sh #!/bin/bash PID=$(ps -ef | grep joke-0.0.1-SNAPSHOT.jar | grep -v gre...
  • Centos下SpringBoot项目启动与停止脚本

    千次阅读 2018-11-27 14:56:05
    使用Maven脚本在Centos服务器中启动与停止项目 首先项目需要引用Maven的SpringBoot插件 <profiles> <profile> <id>boot-repackage</id> <build&...
  • 1、停止服务脚本: #! /bin/shell # 杀死进程 appName='recommend-app' pid=$(ps -ef | grep ${appName} | grep java | grep -v grep | awk '{print $2}') echo -e $pid kill -9 ${pid} sleep 2 if [ $? -eq 0 ]...
  • oracle 服务启动与停止脚本(windows)

    千次阅读 2018-06-28 16:32:53
    将启动与停止代码分别放入以.bat 结尾的脚本文件中;启动和停止分开创建,具体代码各不同,启动服务(OrclService_Start.bat)命令:net start OracleOraDb11g_home1TNSListener net start OracleServiceORCL exit停止...
  • 如何停止Android Monkey脚本

    千次阅读 2016-03-03 10:58:24
    操作命令如下: a、把monkey进程过滤出来 b、执行kill命令,杀死指定monkey脚本
  • shell脚本控制程序启动停止重启

    千次阅读 2019-11-06 12:11:50
    自定义配置需要修改: ...停止命令函数 function stop 正常不需要修改 run_spider.sh #!/bin/bash # 配置要启动关闭的脚本名 process_name="run_spider.py" # 添加启动命令 function start(){ echo "start..." ...
  • 集群中主节点启动:nimbus和ui进程 从节点启动:supervisor和logviewer进程1:启动集群 需要先设置从节点的ip,保存到文件supervisorhost中,一行... 192.168.1.172在主节点写一个脚本:start-all.sh #!/bin/bash s

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 281,511
精华内容 112,604
关键字:

停止脚本是什么原因