CentOS7之Crontab定时任务设置

输入以下命令可以查看所有的定时任务详情

crontab -l

输入以下命令可以编辑定时任务

crontab -e

先按 i 进入编辑模式,然后进行更改,退出时需要依次按 Esc :wq 来进行变更的保存

crontab -e打开的文件的第一行必须加入以下命令,即为其设置环境变量,方便找到bash命令所在的位置

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

后面几行就是定时任务的设置了

01 09 * * * /usr/local/java/jdk1.8.0_144/bin/java -jar /usr/local/javatest/kano_it_attendance/DingAttendanceSpringToday.jar
59 23 * * * /usr/local/java/jdk1.8.0_144/bin/java -jar /usr/local/javatest/kano_it_attendance/DingAttendanceSpringToday.jar
* * * * * bash /root/nohup.sh

分别表示每天的09:01、23:59会跑一下这个jar包,需要注意的是,java前面的前缀必须要写,一直指向到bin目录下的java命令才行,然后后面的jar包路径也要写全。最下面那条表示每分钟都执行一个bash指令,当然.sh文件的路径也要写全(此时bash能这么简单写的原因,是因为最上面PATH环境变量定义好了,能找到bash命令了)

关于nohup.sh文件怎么写👇

先新建这个文件,在里面输入相应的bash命令,然后用 chmod +x nohup.sh 命令为该脚本添加执行权限

#!/bin/bash

# 查询是否存在DingAttendanceExhibition进程
# process_exists=$(pgrep -f DingAttendanceExhibition)
# 查询8091端口是否存在进程,并将进程id赋值给前面的变量
process_exists=$(lsof -t -i :8091)

# -n表示 is not null
if [ -n "$process_exists" ]; then
  # echo "$process_exists" > /root/1.txt
  # 说明进程id存在,则删除该进程
  kill -9 $process_exists
fi

# 使用nohup启动进程并输出到指定文件
nohup /usr/local/java/jdk1.8.0_144/bin/java -jar /usr/local/javatest/kano_it_attendance/DingAttendanceExhibition-0.0.1-SNAPSHOT.jar > /dev/null 2> /dev/null &

#!/bin/bash,必须要写,表明了该文件是可执行文件

其余#开头的都是注释的意思

process_exists=$(lsof -t -i :8091),表示变量的定义和被赋值

echo "$process_exists" > /root/1.txt,表示将这个变量输出保存到/root/1.txt文件中

最后的nohup java -jar X.jar同理,java前面的前缀路径要写全(否则找不到java环境变量),.jar包前面的路径也要写全

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值