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}'\'''