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

简介: 搞一下linux 定时执行jar包的脚本重启首先写个jar包的启动脚本touch  restart.sh  创建一个sh脚本 vi  restart.sh  编辑脚本我已经写好了全部命令如下!/bin/bash 这里可替换为jar包名字APP_NAME=.

搞一下linux 定时执行jar包的脚本重启
首先写个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
版权声明:本文为博主原创文章,转载请附上博文链接!

相关文章
|
15天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
70 1
|
1月前
|
Java 开发工具 Windows
Windows环境下面启动jar包,输出的日志出现乱码的解决办法
Windows环境下面启动jar包,输出的日志出现乱码的解决办法
|
1月前
|
网络协议 Java Nacos
Nacos报错问题之jar 包启动就报错误如何解决
Nacos是一个开源的、易于部署的动态服务发现、配置管理和服务管理平台,旨在帮助微服务架构下的应用进行快速配置更新和服务治理;在实际运用中,用户可能会遇到各种报错,本合集将常见的Nacos报错问题进行归纳和解答,以便使用者能够快速定位和解决这些问题。
|
1月前
|
Java Shell Docker
Docker启动后怎样运行jar包文件
Docker启动后怎样运行jar包文件
|
17天前
|
Java Maven 微服务
springboot项目开启远程调试-jar包
springboot项目开启远程调试-jar包
16 0
|
25天前
|
安全 Shell Linux
【Shell 命令集合 系统管理 】⭐⭐⭐Linux 重启 reboot命令 使用指南
【Shell 命令集合 系统管理 】⭐⭐⭐Linux 重启 reboot命令 使用指南
38 0
|
1月前
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
92 1
|
15天前
|
Java Linux
Linux运行jar并选择配置文件
Linux运行jar并选择配置文件
8 1
|
23天前
|
Java Serverless 测试技术
Serverless 应用引擎常见问题之上传自定义jar包自动vpc启动报错如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
32 4
|
26天前
|
Java Linux 开发工具
Linux 下tar.bz2包的安装方法
Linux 下tar.bz2包的安装方法
29 0