首页 > 系统相关 >Linux配置定时任务,定时(每分钟)查看jar是否运行,没有运行则重新启动

Linux配置定时任务,定时(每分钟)查看jar是否运行,没有运行则重新启动

时间:2024-11-04 16:00:20浏览次数:2  
标签:look jar application sh Linux home 定时 log

Linux配置定时任务,定时(每分钟)查看jar是否运行,没有运行则重新启动

部署在Linux服务器上的服务,有时会因为其他原因(如内存溢出,误杀)导致服务被kill了,影响业务的正常运行。为避免这类问题发生,需要配置监控(定时查询服务是否还在运行中),当发现服务被kill掉了,则重新启动!

1、准备工作
  • Java目录的绝对路径
  • 服务的启动脚本命令
2、脚本命令(look_jar.sh)

在linux系统的任意文件夹下新建look_jar.sh文件

# 改变目录
cd /home/application/bussManager/bin
# 新建look_jar.sh文件
vi look_jar.sh
# 新建look_jar.log日志文件
vi look_jar.log
# vi编辑器里,摁ESC后输入:wq为保存并退出
1234567

编辑look_jar.sh脚本

#!/bin/sh
PIDS=`ps -ef | grep buss-admin.jar | grep -v grep | awk '{print $2}'`
#不使用 `` 也可以使用 ${}

if [ "$PIDS" != "" ]; then
	#进程号不为空,则项目正在运行中,否则项目就是挂了
   echo "buss-admin.jar already started!"
else
   nohup /usr/local/baseServer/jdk1.8/bin/java -mx256M -Diname=buss-admin -Xrs -jar /home/application/bussManager/lib/buss-admin.jar --spring.config.location=/home/application/bussManager/conf/application.yml > /home/application/bussManager/logs/buss-admin.log&
  echo "buss-admin.jar restart!"
fi
1234567891011

在vi的命令模式下使用:wq保存修改
使用chmod u+x命令给予look_jar.sh, look_jar.log权限

# u代表所有者,x代表执行权限,+表示增加权限
chmod u+x look_jar.sh
chmod u+x look_jar.log
123
3、将脚本添加到crontab定时任务

运行命令:crontab -e
在里面添加定时表达式和脚本绝对路径和日志的绝对路径

*/1 * * * * /home/application/bussManager/bin/look_jar.sh >> /home/application/bussManager/bin/look_jar.log

保存并退出。
crontab详解:
crontab可通过查看/home/application/bussManager/bin/look_jar.log文件查看脚本执行记录。
如图所示:
日志记录

标签:look,jar,application,sh,Linux,home,定时,log
From: https://www.cnblogs.com/javaxubo/p/18525453

相关文章

  • linux中怎么查看磁盘详细使用情况
    在Linux系统中,查看磁盘详细使用情况主要有以下几个命令和工具:1. df 命令df (diskfree)命令用于查看文件系统的总空间、已使用空间、剩余空间以及使用率等信息。以下是一些基本用法: #显示所有文件系统及其磁盘使用情况,以人类可读的格式(KB、MB、GB等) df-h ......
  • Linux查看当前服务占用CPU,内存以及硬盘使用情况
        执行top命令此处为当前服务器运行CPU等待率,越低速度越快。左侧展示每个集成的CPU使用情况,右侧为每个进程对应的运行内存使用其中:%us:表示用户空间程序的cpu使用率(没有通过nice调度)%sy:表示系统空间的cpu使用率,主要是内核程序。%ni:表示用户空间且通过nice调度过......
  • Linux操作系统之命令解释:ls -l|grep ^-|wc -l
    前言1、ls-l|grep^-|wc-l含义:Linux操作系统下查看当前目录内的文件数量(不包含子目录中的文件)(因为目录的权限首字母为d:代表文件夹)2、分段解释:ls-l:列出当前目录下所有文件。grep^-:grep用于筛选前面管道传来的信息,筛选标准:[行首后紧跟着一个-符号](^代表行首)(表示过滤......
  • Linux-shell实例手册-磁盘
    本文主要介绍在Linux下关于磁盘的操作,如磁盘常用命令、创建swap文件方法,磁盘挂载,raid原理等。记得点赞,收藏方便随时查看。文章目录1磁盘常用Linux命令2 创建swap文件方法3 新硬盘挂载4raid原理与区别1磁盘常用Linux命令  df-Ph             ......
  • Linux下查询服务运行状态
    什么是Linux服务Linux服务是后台运行的进程,用于执行特定的任务或提供某种功能。它们可分为两类:独立服务和基于xinetd的服务。独立服务可自主运行,如Apache和FTP;而基于xinetd的服务需依赖xinetd管理,在收到请求时才启动,有效节省资源。Linux服务通过systemd系统进行管理,实......
  • Linux 五种IO模型
    IO模型概述IO模型的定义在Linux操作系统中,I/O模型是指用户空间应用程序与内核空间之间进行数据交换的方式1。这些模型通过系统调用(SystemCall)实现,为应用程序提供了访问内核功能的接口API1。主要目的是优化数据传输效率,提高系统的并发处理能力,从而改善整体性能。常见的I/......
  • 1.5_Linux权限提升
    提权提权信息收集工具(推荐:linpeas)1).Linux提权工具:linpeas(需下载到对方主机后提取执行chmod+x软件名,./linpeas_linux_amd64>1.txt,cat1.txt)[推荐]2).内核漏洞提权工具:linux-exploit-suggester-2-master系统漏洞提权系统内核漏洞脏牛提权(CVE-2016-519......