欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

crontab定时运行java程序

程序员文章站 2022-05-10 09:11:36
...

在ubuntu下,要是某个程序定时运行,最常用的工具就是crontab,可以通过crontab来设置相隔多长时间执行一次,或者每小时、每天、每月的固定时间执行一次,具体的用法参照百度百科。下载记录了我使用crontab的过程中所遇到的问题以及解决方案。

 

问题描述:我用java写好了一个在网上抓取信息的程序,想设定每半个小时运行一次,并在程序中输出提示信息。

 

具体办法如下:

1、首先写一个可以运行该java程序的脚本(grabnews),由于在后面要通过crontab来运行这个脚本,由于crontab的特殊限制,要求脚本中用到的命令都要使用绝对路径。我的脚本代码如下:

#!/bin/sh
cd /root/hanpeng/CrawlingNews/bin
/usr/lib/jvm/java-6-sun-1.6.0.24/bin/java com.nsc.News.IncrementGrabNews >>/root/hanpeng/text

注意:这里面的java命令如果只写成java com.nsc.News.IncrementGrabNews的话,直接运行该脚本是可以的,但是放在cronfile中就会出错。

 

2、完成了执行java程序的脚本之后,要开始写crontab的执行文件了(这里命名为cronfile),cronfile内容如下:

*/30 * * * * /bin/sh /root/hanpeng/grabnews

这里面的意思是每个30分钟就通过sh命令执行grabnews脚本一次。(注意:最好都使用绝对路径,免得出错)

 

3、完成了以上两步之后,有时可能不能生效,这时要重启一下cron服务,然后再把cronfile加入到cron的管理进程中。

service cron stop
service cron start
crontab cronfile

 通过以上设置之后,就达到了每三十分钟抓取一次网页的目的。