shell脚本启动集群服务

一.shell系统变量(主要是用于对参数判断和命令返回值判断时使用)
$0 		#当前脚本的名称;
$n 		#当前脚本的第n个参数,n=1,2,…9;
$* 		#当前脚本的所有参数(不包括程序本身);
$# 		#当前脚本的参数个数(不包括程序本身);
$? 		#令或程序执行完后的状态,返回0表示执行成功;
$$ 		#程序本身的PID号。
二.常见逻辑判断运算符
-f	 	#判断文件是否存在 eg: if [ -f filename ];
-d	 	#判断目录是否存在 eg: if [ -d dir     ];
-eq		#等于,应用于整型比较 equal;
-ne		#不等于,应用于整型比较 not equal;
-lt		#小于,应用于整型比较 letter;
-gt		#大于,应用于整型比较 greater;
-le		#小于或等于,应用于整型比较;
-ge 	#大于或等于,应用于整型比较;
-a		#双方都成立(and) 逻辑表达式 –a 逻辑表达式;
-o		#单方成立(or) 逻辑表达式 –o 逻辑表达式;
-z		#空字符串;
-x      #是否具有可执行权限
||      #单方成立;
&&      #双方都成立表达式。
三.shell脚本启动集群服务

例:现有3台服务器,通过脚本在以下3台服务器上启动/停止/重新启动cend-main-0.0.1-SNAPSHOT.jar服务。

服务器1:103.162.37.166

服务器2:103.162.37.167

服务器3:103.162.37.168

#!/bin/bash
SERVICE_DIR=/home/application
SERVICE_NAME=cend-main-0.0.1-SNAPSHOT.jar
if [ $# -lt 1 ]
then
    echo "No Args Input..."
    exit
fi
case $1 in
"start"){
	for i in 103.162.37.166,103.162.37.167,103.162.37.168
    do
        ssh $i
        echo --------$i is starting...---------
        cd ${SERVICE_DIR}
        nohup java -jar ${SERVICE_NAME} &
        echo -------服务$i is started successfully.--------
    done
};;
"stop"){
	for i in 103.162.37.166,103.162.37.167,103.162.37.168
    do
        ssh $i
        echo -------$i is stopping...--------
        pid=`ps -ef|grep ${SERVICE_NAME}|grep java|grep -v grep|awk '{print $2}'`
        kill -9 $pid
        echo -------$i is stopped successfully.--------
    done
};;
"restart"){
	for i in 103.162.37.166,103.162.37.167,103.162.37.168
    do
        ssh $i
        echo -------$i is stopping...--------
        pid=`ps -ef|grep ${SERVICE_NAME}|grep java|grep -v grep|awk '{print $2}'`
        kill -9 $pid
        echo -------$i is stopped successfully.--------
        
        echo --------$i is starting...---------
        cd ${SERVICE_DIR}
        nohup java -jar ${SERVICE_NAME} &
        echo -------服务$i is started successfully.--------
    done
};;
esac
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值