linux shell学习

Linux Shell学习

1.enableJPDA.sh

//enableJPDA.sh
#!/bin/bash

function_enable_gateway(){
    cd /opt/fusion_viid/RestGateWay/tomcat/viid-apache-tomcat/bin/
    sed -i 's/jpda//g' startup.sh
    sed -i 's/start/jpda start/g' startup.sh
    sed -i 's/JPDA_ADDRESS="localhost:8000"/JPDA_ADDRESS="5006"/g' catalina.sh

    cd /opt/fusion_viid/RestGateWay/bin
    sh stop.sh
    sleep 2
    echo "重启restgateway服务...."
    sh startup.sh
    sleep 2
    echo "重启restgateway服务完成"
}

function_enable_ferry(){
    cd /opt/fusion_viid/DataFerryService/bin
    if [ $(grep -c "agentlib" startup.sh) -eq '0' ]; then
        sed -i 's/nohup java/nohup java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005/g' startup.sh
    fi
    sh stop.sh
    sleep 2
    echo "重启DataFerry服务...."
    sh startup.sh
    sleep 2
    echo "重启DataFerry服务完成"

}

echo "请输入需要激活JPDA的服务(gateway/ferry)"
read target

if [ $target == "gateway" ]; then
    function_enable_gateway
else
    function_enable_ferry
fi


2.kill_java_zk.sh

//kill_java_zk.sh
#!/bin/bash

echo "输入清除内网还是专网或者all(nw/zw/all)"
read target

#内网的ZK和服务的ip
nw_zk=100.***.**.**
nw_service=100.***.**.**

#专网的ZK和服务的ip
zw_zk=100.***.**.**
zw_service=100.***.**.**

function_kill_jps(){
    #清理服务节点上的java服务
    ssh_service_cmd="sshpass -p ******* ssh root@$1"
    echo "清理服务节点$1上的java服务"
    jps_path=$($ssh_service_cmd echo $JAVA_HOME)
    echo "$($ssh_service_cmd $jps_path"/bin/jps")"

    $ssh_service_cmd killall -9 java
    $ssh_service_cmd rm -f /tmp/hsperfdata_viid/*

    echo "清理服务节点$1上的java服务完成"
}

function_kill_zk(){
    #清理ZK节点上的ZK服务
    ssh_zk_cmd="sshpass -p ******* ssh root@$1"
    echo "清理ZK节点$1上的ZK服务"
    #获取ZK的pid
    zk_cmd="$ssh_zk_cmd ps -ef | grep zookeeper | grep -v "grep" | awk "''\''{print $2}'\'''
    zookeeper_id=$($zk_cmd)
    if [ -z $zookeeper_id ]; then
        echo "未找到zk服务,请手动检查"
    else
        echo "zookeeper pid:${zookeeper_id}"

        for id in ${zookeeper_id}
        do
            $ssh_zk_cmd kill -9 $id  
            echo "killed $id"  
        done

    fi

    echo "清理ZK节点$1上的ZK服务完成"
}

echo "##########################################"
echo "开始清理${taregt_zk}&&${target_service}....."

if [ $target == "nw" ]; then
    function_kill_jps ${nw_service}
    function_kill_zk ${nw_zk}
elif [ $target == "zw" ]; then
    function_kill_jps ${zw_service}
    function_kill_zk ${zw_zk}
else
    function_kill_jps ${nw_service}
    function_kill_zk ${nw_zk}
    function_kill_jps ${zw_service}
    function_kill_zk ${zw_zk}
fi

echo "##########################################"

1.linux shell中打印单引号

''\''{print $2}'\'''

你可能感兴趣的:(实习)