有时候需要shell脚本启动停止服务需要做一些额外操作
比如启动时,先移动备份文件,方便出错的话快速回滚。
停止服务时先执行某些接口,保证服务及时不再注册中心 优雅下线等。
#!/usr/bin/bash
function backup(){
echo "backup start.."
dateStr=`date "+%Y%m%d%H%M"`
echo $dateStr
if [[ -e $runningJarPath ]];then
backUpFileName=${runningJarPath}${dateStr}.zip
echo $backUpFileName
#cp -r $runningJarPath $backUpFileName
zip -q -r $backUpFileName $runningJarPath
fi
}
function start(){
#先备份lib
backup
#再copy
echo "copy start.."
\cp -a -f -r /opt/uploadfiles/* lib/
echo "begin start.."
nohup java -Xmx2048m -Xms256m -Xss256k -Dloader.path=./lib -jar tpdata-application-develop-1.0-SNAPSHOT.jar --start > $logPath 2>&1 &
}
function stop(){
#username=tp-service
#password=123456
#runningPort=`cat tp-service.port`
#if [[ -n $runningPort ]];then
# echo "curl http://127.0.0.1:$runningPort/eureka/offline?username=$username&password=$password"
# result=`curl "http://127.0.0.1:$runningPort/eureka/offline?username=$username&password=$password"`
# sleep 8s
#else
# echo "cannot findd application port"
#fi
#runningPid=`cat tp-service.pid`
#if [[ -n $runningPid ]];then
# echo "kill -9 $runningPid"
# kill -9 $runningPid
#else
# echo "cannot find application pid"
#fi
}
applicationName=tpdata-application-develop-1.0-SNAPSHOT
runningJarPath=lib
logPath=tpdata-application-develop.out
curr_user=`whoami`
if [ $curr_user != "root" ];then
echo "curr_user: $curr_user"
fi
case $1 in
"start")
start
;;
"stop")
stop
;;
*)
echo "operation not found"
esac