crontab定时执行java程序(简单易懂)

linux下利用crontab定时执行java程序

1.首先写好我们的java类,上传到linux系统目录下(注意java程序,最好去掉开头的package)

在这里插入图片描述

2.编写简单的shell脚本,执行java程序,根据自己程序目录位置改写下面代码
命令:vi test.sh

#!/bin/sh
source /etc/profile
cd /usr/local/
javac Test.java
java Test

3.编辑定时任务
命令:crontab -e

在这里插入图片描述
简单解释一下crontab的时间格式

  • f1 f2 f3 f4 f5 program
  • 其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program表示要执行的程序。
  • 当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,以此类推
  • 当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b
    小时都要执行,以此类推
  • 当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,以此类推
  • 当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b,
    c…个小时要执行,以此类推
*/1 * * * * sh /usr/local/test.sh>>/usr/local/test2.log 2>&1

我写的这段crontab的作用为:每分钟执行/usr/local目录下的test.sh脚本, >>将程序输出到/usr/local/test2.log文件中, 2>&1的作用是 无论程序正常输出还是报错,信息都会记录到test2.log文件中。(根据自己的需求进行修改即可)

然后查看test2.log文件中信息是否正常,即可判断crontab定时程序是否成功。

猜你喜欢

转载自blog.csdn.net/weixin_44422604/article/details/107026556