centos时刻检查java状态并重启

简介: centos时刻检查java状态并重启

linux后台运行jar包,有时会意外退出,linux(centos)定时计划运行sh检查jar包运行状态并重启jar包


1、新建restart.sh


cd /home

touch restart.sh


2、权限设置744(需要注意定时任务的用户有没有运行权限)


chmod 744 restart.sh


3、编辑restart.sh 文件:

#!/bin/sh
export LANG="en_US.UTF-8"
export JAVA_HOME=/usr/java/jdk1.8.0_152
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/dt.jar:$JAVA_HOME/tools.jar 
#java
#http://www.wityx.com/post/829_1_1.html
jarDir="/home"
jar="wuliaokankan.cn-1.1-0.0.1.jar"
logFile="/home/logs/restart.log"
restart(){
cd ${2}
if [ ! -f ${1} ];then
echo "jar not exist" >> ${logFile}
return
fi
(java -jar ${1} &)
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
}
#http://www.wityx.com/post/829_1_1.html
check(){
count=$(ps -ef | grep ${1} | grep -v "grep")
if [ -n "${count}" ];then
#echo "`date` ${1} is running" >> ${logFile}
echo "`date` ${1} s running"
else
restart ${1} ${2}
echo "`date` ${1} is down. restartig" >> ${logFile}
#echo "`date` ${1} is down"
fi
}
check ${jar} ${jarDir}


4、执行检查是否正常


./restart.sh

若报bin/sh^M: bad interpreter: No such file or directory

原因:.sh脚本在windows系统下用记事本文件编写的。不同系统的编码格式引起的。

解决方法:修改.sh文件格式

(1)使用vi工具

vi test.sh

(2)利用如下命令查看文件格式

:set ff 或 :set fileformat

可以看到如下信息

fileformat=dos 或 fileformat=unix

(3) 利用如下命令修改文件格式

:set ff=unix 或 :set fileformat=unix

:wq (存盘退出)

注:其实,在windows下通过git bash可以直接编写unix格式.sh!


5、加入系统定时任务


每小时检查jar包运行,如果退出重启

crontab -e

* */1 * * * /bin/sh /home/restart.sh


linux(centos)定时检查jar包运行状态若退出就重启

linux后台运行jar包,有时会意外退出,linux(centos)定时计划运行sh检查jar包运行状态并重启jar包

相关文章
|
应用服务中间件 Linux nginx
让 CentOS 定时重启 Nginx
在CentOS上设置Nginx定时重启可通过`cron`或`systemctl`
776 0
|
Java
CentOS7.8配置Adoptium-Java17运行环境
本指南介绍如何设置清华镜像源并安装 Temurin-17-JRE 运行环境。首先,编辑 `/etc/yum.repos.d/adoptium.repo` 文件,配置清华镜像源。接着,使用 `yum install -y temurin-17-jre` 命令安装 Temurin-17-JRE,并通过 `java --version` 验证安装成功。相关配置和操作界面截图附后。
713 8
|
NoSQL Linux Redis
在 centos7 下重启/开启 redis 服务器
本文提供了一种在Centos 7操作系统下如何重启Redis服务器的步骤,包括停止Redis服务、确认停止成功以及重新启动Redis服务。
1558 2
在 centos7 下重启/开启 redis 服务器
|
弹性计算 Oracle Java
centos7 搭建java环境
本文详细介绍了在阿里云服务器ECS上(CentOS 7.7)通过两种方式搭建JDK环境的方法。方法一使用yum源安装,首先更新yum源并解决可能遇到的rpm数据库问题,然后卸载系统自带的OpenJDK及相关文件,接着安装JDK并配置环境变量。方法二是通过下载并解压tar包进行安装,同样需要配置环境变量。文章提供了具体命令和步骤,并附带了解决常见问题的方法。适合初学者参考学习。
992 9
centos7 搭建java环境
|
Java 数据格式 索引
使用 Java 字节码工具检查类文件完整性的原理是什么
Java字节码工具通过解析和分析类文件的字节码,检查其结构和内容是否符合Java虚拟机规范,确保类文件的完整性和合法性,防止恶意代码或损坏的类文件影响程序运行。
274 5
|
Java API Maven
如何使用 Java 字节码工具检查类文件的完整性
本文介绍如何利用Java字节码工具来检测类文件的完整性和有效性,确保类文件未被篡改或损坏,适用于开发和维护阶段的代码质量控制。
523 5
|
Ubuntu Java Linux
如何检查 Java 版本是否兼容
要检查Java版本是否兼容,可在命令行输入“java -version”查看当前安装的Java版本,然后对比目标应用所需的Java版本,确保其满足要求。
1130 1
|
Java
让星星⭐月亮告诉你,Java异常分类[Throwable(Error/Exception(RuntimeException/其他异常)) 检查时异常 非检查时异常]
本文深入解析了Java异常处理机制,重点介绍了`Throwable`类及其子类`Error`和`Exception`,并通过实例代码、流程图和表格详细解释了异常的分类、区别及处理方法,帮助读者掌握异常处理的关键技巧,提升程序的稳定性和健壮性。
389 1
|
存储 缓存 监控
Java——图片文件位于 bin 目录下,下载新图片会导致应用程序重启
【9月更文挑战第22天】在Java应用中,若图片位于bin目录下且下载新图片导致应用重启,可能是因为部署方式不当或资源监控机制过于敏感。解决方法包括:更改图片存储位置至独立目录;配置应用服务器减少资源监控敏感度;使用独立资源服务器托管静态资源;优化代码减少资源重复加载。具体方案需根据应用实际情况和技术栈调整。
246 4
|
Java Shell Nacos
centos7.x使用nacos2.1.0(解决JAVA_HOME、javac报错)
centos7.x使用nacos2.1.0(解决JAVA_HOME、javac报错)
842 1
下一篇
开通oss服务