linux定时执行脚本重启什么服务器,搞一下linux 定时执行jar包的脚本重启

dc25a6aed567a1f78fbd189afc43525a.png

搞一下linux 定时执行jar包的脚本重启

836014053883d7f6fd843fd3d43fd22c.png

首先写个jar包的启动脚本

touch  restart.sh  创建一个sh脚本

vi  restart.sh  编辑脚本

我已经写好了全部命令如下

#!/bin/bash

#这里可替换为jar包名字

APP_NAME=******.jar

export JAVA_HOME=/root/jdk1.8

export CLASSPATH=$JAVA_HOME/lib/

export PATH=$PATH:$JAVA_HOME/bin

cd /root/***

#根据实际情况修改参数

#JVM=”-server -Xms2g -Xmx2g -Xmn512m -XX:PermSize=128M -XX:MaxNewSize=128m -XX:MaxPermSize=25zh6m -Xss256k  -Djava.awt.headless=true -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled -Xloggc:/logs/xxx-server/GC/xxx-gc.log”

#APPFILE_PATH=”-Dspring.config.location=/usr/local/config/application.properties”

#使用说明,用来提示输入参数

usage() {

echo “Usage: sh 执行脚本.sh [start|stop|restart|status|log|backup]”

exit 1

}

#检查程序是否在运行

is_exist(){

pid=`ps -ef|grep $APP_NAME|grep -v grep|awk ‘{print $2}’ `

#如果不存在返回1,存在返回0

if [ -z “${pid}” ]; then

return 1

else

return 0

fi

}

#启动方法

start(){

is_exist

if [ $? -eq “0” ]; then

echo “${APP_NAME} is already running. pid=${pid} .”

else

#nohup java $JVM -jar $APPFILE_PATH $APP_NAME > /dev/null 2>&1

#后台启动jar包,且控制环境变量,根据实际情况修改吧。

nohup java $JVM -jar $APP_NAME –spring.profiles.active=prod > /dev/null 2>&1 &

fi

}

#停止方法

stop(){

is_exist

if [ $? -eq “0” ]; then

kill -9 $pid

else

echo “${APP_NAME} is not running”

fi

}

#输出运行状态

status(){

is_exist

if [ $? -eq “0” ]; then

echo “${APP_NAME} is running. Pid is ${pid}”

else

echo “${APP_NAME} is NOT running.”

fi

}

#重启

restart(){

stop

start

}

#日志

log(){

# 输出实时日志

tail -n 100 -f /logs/fdc-server/fdc-server.log

}

#备份

backup(){

#根据需求自定义备份文件路径。

BACKUP_PATH=/usr/local/webapps/backup/xxx-server/

#获取当前时间作为备份文件名

BACKUP_DATE=`date +”%Y%m%d(%H:%M:%S)”`

echo ‘backup file ->’$BACKUP_PATH$BACKUP_DATE’.jar’

#备份当前jar包

cp -r /usr/local/webapps/$APP_NAME  $BACKUP_PATH$BACKUP_DATE’.jar’

}

#根据输入参数,选择执行对应方法,不输入则执行使用说明

case “$1” in

“start”)

start

;;

“stop”)

stop

;;

“status”)

status

;;

“restart”)

restart

;;

“log”)

log

;;

“backup”)

backup

;;

*)

usage

;;

esac

该脚本的手动启动方式 为  是restart.sh start|stop|restart。。。。。。

编辑好脚本保存并退出

执行 crontab -e 命令

将jar的启动路径编辑进去

*/1 * * * * sh /root/***/restart.sh restart  每分钟执行一次

tailf /var/log/cron

注意:

crontab调用时,自己是检测不到jJAVA_HOME的,需要在启动脚本中声明环境变量

一般环境变量定义在  /etc/profile 中

export JAVA_HOME=/root/jdk1.8

export CLASSPATH=$JAVA_HOME/lib/

export PATH=$PATH:$JAVA_HOME/bin

———————

作者:忙着可爱忙着长大

来源:CSDN

原文:https://blog.csdn.net/weixin_40836984/article/details/94735340

版权声明:本文为博主原创文章,转载请附上博文链接!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值