脚本启动服务
将jar包拷贝到服务器中对应的目录,一般和模块同名,如eureka-service-1.0.0.jar 放在/zcy/platform_parent_hk_2/eureka/目录下
添加启动文件
save_version.txt
startup.sh
内容
save_version.txt
startup.sh
#!/bin/bash
#chkconfig: 345 99 99
source /etc/profile
service_dir=`dirname $0`
service_name=`cat $service_dir/save_version.txt`
pid=`ps -ef | grep $service_name | grep -v grep | awk '{print $2}'`
# HTbd2020**&$abcHz9523R
# -bash: ./startup.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录 解决方法如下
# [root@localhost admin-service]# sed -i 's/\r$//' startup.sh
pid_num=0
for i in $pid
do
let pid_num+=1
done
function start_service(){
if [ $pid_num -gt 0 ]; then
echo "$service_name is running.... PID:$pid"
else
cd $service_dir
nohup java -jar $service_name 2>&1 /dev/null &
# nohup java -jar $service_name > /dev/null &
rm -rf $service_dir/nohup.out
sleep 1
pida=`ps -ef | grep $service_name | grep -v grep | awk '{print $2}'`
pid_numii=0
for ii in $pida
do
let pid_numii+=1
done
if [ $pid_numii -gt 0 ]; then
echo "$pida" > $service_dir/service.pid
echo "$service_name start Success.... PID:$pida"
else
echo "$service_name start Fail...."
fi
fi
}
function status_servide() {
if [ $pid_num -gt 0 ]; then
echo "$service_name is running.... PID:$pid"
else
echo "$service_name is not running...."
fi
}
function stop_service(){
if [ $pid_num -gt 0 ]; then
while_i=0
while [ $while_i -lt 9 ]
do
pida=`ps -ef | grep $service_name | grep -v grep | awk '{print $2}'`
pid_numiii=0
for iii in $pida
do
let pid_numiii+=1
done
if [ $pid_numiii -gt 0 ]; then
kill -9 $pida
let while_i+=1
sleep 1
else
break
fi
done
rm -rf $service_dir/service.pid
pid_num=0
echo "$service_name stop Success.... kill PID:$pid"
else
echo "$service_name is not running...."
fi
}
function usage() {
echo "Usage: [start|stop|restart|status]"
}
case $1 in
start)
start_service
;;
stop)
stop_service
;;
restart)
stop_service
start_service
;;
status)
status_servide
;;
*)
usage
;;
esac
查看日志
tail -n 200 ./log/vehicle-service-2021-07-27-0.log
启动模块
启动: ./startup.sh start
重启: ./startup.sh restart
手工启动jar包服务(不推荐)
nohup java -jar vehicle-service-1.0.0.jar --server.port=8302 &