一键启动jar,redis,nginx 的shell脚本

因为我比较懒,所以搞个shell脚本,欢迎大家改进。
要用的话改个前三段程序所在的目录变量就行。
①可以一起启动三个;
②如果这三个某一两个启动着,也不会再次启动。
干,启动jar包的地方有问题,成功失败都显示成功,暂时没有想到解决办法。

jar_name=xxx.jar
jar_path=/usr/local/xxx
log_path=/usr/local/xxx/logs/`date +%y-%m-%d`_out.log

#指定redis_server以及配置文件目录,配置文件名称必须为redis.conf
rServer_path=/usr/local/redis/src
rConf_path=/usr/local/redis

#指定nginx以及配置文件目录,以实际目录为主
nServer_path=/usr/local/nginx/sbin
nConf_path=/usr/local/nginx/conf

#指向自定义jdk
#export JAVA_HOME=/usr/local/jdk1.8.0_161
#export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
#export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

startJar(){
  echo "润之正在启动${jar_name},请稍后"
  pid=$(ps -ef | grep $jar_name | grep -v grep | awk '{print $2}')
  if [ -z $pid ]; then
    cd $jar_path
    nohup java -jar $jar_name >$log_path 2>&1 &	
    sleep 5
    pid=$(ps -ef | grep $jar_name | grep -v grep | awk '{print $2}')
    if [ -z $pid ]; then
        echo "jar包启动失败"
    else
	pid=$(ps -ef | grep $jar_name | grep -v grep | awk '{print $2}')
	echo "${jar_name}启动成功,pid=${pid3}"
	echo ""
	echo "所有程序部署完毕!"
    fi
  else
    echo "应用${jar_name} 不需要启动,其已经处于运行状态,pid = ${pid}"
  fi
}


startNginx(){
  echo "润之正在启动nginx,请稍后"
  pid=$(ps -ef|grep nginx|grep master|awk '{print $2}')
  if [ -z $pid ]; then
     
    cd $nServer_path
    ./nginx -c ${nConf_path}/nginx.conf

    sleep 0.5
    pid=$(ps -ef|grep nginx|grep master|awk '{print $2}')
    echo $pid 
    if [ -z $pid ]; then
        echo "nginx启动失败"
    else
	echo "nginx启动成功,主进程pid=${pid}"
    fi

  else
    echo "应用nginx不需要启动,其已经处于运行状态,主进程pid = ${pid}"
  fi
  echo ""

  sleep 2
  startJar
}



startRedis(){
  echo "润之正在启动redis,请稍后"
  pid=$(ps -ef | grep redis | grep -v grep | awk '{print $2}')
  if [ -z $pid ]; then
     
    cd $rServer_path
    ./redis-server  ${rConf_path}/redis.conf

    sleep 0.5
    pid=$(ps -ef | grep redis | grep -v grep | awk '{print $2}')
    if [ -z $pid ]; then
        echo "redis启动失败"
    else
	echo "redis启动成功,pid=${pid}"
    fi

  else
    echo "应用reids不需要启动,其已经处于运行状态,pid = ${pid}"
  fi
  echo ""

  sleep 2
  startNginx
}

startRedis
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值