#!/bin/bash APP_NAME=xxx JAR_FILE=$APP_NAME.jar LOG_PATH=/home/chen/logs/log start(){ checkpid if [ ! -n "$pid" ]; then echo "啟動命令" echo "nohup java -jar $JAR_FILE >nohup.out &" nohup java -jar $JAR_FILE >nohup.out & echo "---------------------------------" echo "啟動完成,按CTRL+C退出日志界面即可>>>>>" echo "---------------------------------" sleep 35s # 到日志文件夾中尋找最新的一個日志文件 LOG_FILE=`ls -t $LOG_PATH/idcim.log | head -1` # 打印啟動日志,如果發現日志中包含Tomcat started這個字符說明啟動成功,結束打印進程 tail -f $LOG_FILE|while read line do kw=`echo $line|grep "Tomcat started"|wc -l` if [ $kw -lt 1 ];then echo $line else tail_pid=`ps -ef |grep $LOG_FILE |grep -v grep |awk '{print $2}'` kill -9 $tail_pid fi done echo "執行成功" else echo "$APP_NAME is runing PID: $pid" fi } checkpid(){ pid=`ps -ef |grep $JAR_FILE |grep -v grep |awk '{print $2}'` } stop(){ # 停止前直接到對應的eureka服務中刪除對應的實例,URL規則可以根據注冊時的不同規則自行制定 #curl -X "DELETE" "http://$EUREKA_HOST/eureka/apps/$APP/$server:$PORT" checkpid if [ ! -n "$pid" ]; then echo "$APP_NAME not runing" else echo "$APP_NAME stop..." kill $pid sleep 2s kill -9 $pid fi } restart(){ stop sleep 1s start } status(){ checkpid if [ ! -n "$pid" ]; then echo "$APP_NAME not runing" else echo "$APP_NAME runing PID: $pid" fi } case $1 in start) start;; stop) stop;; restart) restart;; status) status;; *) echo "require start|stop|restart|status" ;; esac
分享一個啟動spring cloud微服務的腳本,在網上看的,然后修改的。更加簡潔,方便使用。使用時修改APP_NAME和LOG_PATH