【服务器】服务器上设置定时任务,定时执行Java程序

时间:2022-11-13 07:50:15

注:笔者服务器使用的系统是Linux系统

涉及知识点


- 将写好的Java程序打包成jar包
- 服务器上配置好Java的开发环境
- 自己写shell脚本
- 配置crontab 服务

前期准备

关于jar包:

在本地写好Java程序后,需要将其打包成jar后放到服务器上才能执行。建议在放服务器上之前,先在本地用命令行cmd检查导出的jar包是否能正常执行。
在键盘上键入“win+R”,弹出窗口输入cmd:
【服务器】服务器上设置定时任务,定时执行Java程序
便会弹出
【服务器】服务器上设置定时任务,定时执行Java程序
找到本地jar包所在的路径,输入java -jar *.jar,若能输出原本程序里就应该输出的结果就是成功的jar包,否则就请先检查自己的jar的导出是否正确,详情如何正确导出jar包请看上一篇文章
【服务器】服务器上设置定时任务,定时执行Java程序
正确的输出了我想要的结果,表明我的jar包是正常的。

服务器配置Java开发环境

这个就不说了,没配置过环境的同学可以参考苍狼老师的文章:

http://www.cnblogs.com/xdp-gacl/p/4097608.html

写脚本文件.sh

脚本文件不能在本地写好上传上服务器,必须在服务器上用vim编辑器编写。
键入vim fileName.sh
脚本内容:
【服务器】服务器上设置定时任务,定时执行Java程序
要正确输入jar包所在的路径,这个路径的输入与脚本文件放置在哪个文件夹里无关。
只有框里的为必须的,其他的都是输出的提示内容。

配置crontab 服务

脚本文件写完后,就开始配置crontab服务了。
首先键入 crontab -e 编辑crontab服务文件
[root@VM_162_73_centos ~]# crontab -e
然后在下面添加自己的定时任务执行语句
【服务器】服务器上设置定时任务,定时执行Java程序
红框的是我写的,其他的是原本就有的。
执行语句是有指定的格式的

*/分 时 日 月 星期 命令

即上面的*/30 9 * * * /bin/sh /usr/local/jar/bookExpire.sh意为:
每天9点30分执行/usr/local/jar/路径下的bookExpire.sh脚本, /bin/sh为执行脚本文件必须的前缀。要注意每个部分之间要空一格!
一般一行对应一个任务。
写完执行语句后键入esc,然后:wq退出。
[root@VM_162_73_centos ~]# crontab -l
查看crontab服务是否创建成功:
【服务器】服务器上设置定时任务,定时执行Java程序
可以看到我刚刚写入的两天都已存在了。接下来就是启动crontab服务
[root@VM_162_73_centos ~]# /sbin/service crond start
什么都没有输出,然后我们需要查看服务是否启动成功,键入
[root@VM_162_73_centos ~]# ps ax|grep cron
查看进程
提示以下信息就代表启动成功了:
【服务器】服务器上设置定时任务,定时执行Java程序.
关于crontab服务 的具体内容,可参考:

http://blog.csdn.net/xiyuan1999/article/details/8160998