linux定时执行java程序

Linux下cron定时执行Java程序

写一个jar件放在/home/lch/excJava.jar

在#vi /usr/local/myshell/auto.sh

#!/bin/bash

cd /usr/local/myshell/

/usr/java/jdk1.6.0_21/bin/java -jar /home/lch/excJava.jar -cp /usr/java/jdk1.6.0_21/lib/tools.jar:/usr/java/jdk1.6.0_21/lib/dt.jar:.

说明:/usr/java/jdk1.6.0_21是java安装路径
java命令后面必须要加入-cp参数,cron在执行时不加载系统环境变量,如果不加这个参数,程序不会正常执行,
即使命令行可以正确执行,但在cron调用时也会出现问题。



#crontab –e

* */1 * * * /usr/local/myshell/auto.sh > /www/auto.log //每分钟执行一次,测试用

/sbin/service crond stop

/sbin/service crond start

OK执行成功如果Java设了全局全变量则可以:

java -jar /home/lch/excJava.jar //将上在#!/bin/bash cd /usr/local/myshell/下面的换成这个也是可以的

//注意可执行文件需要赋权 # chmod +x leaf.sh
有个奇怪的问题我的jar程序是写下一个txt文件但是中文出现乱码。

解决办法可以在那个auto.sh 文件里面加下面注意要加在#!/bin/bash 的下一行:可用env命令查看本系统的环境。

export LANG=en_US.UTF-8

export LANGVAR=en_US.UTF-8

export LC_ALL=zh_CN

二,第一道第五个字段的整数取值范围及意义是:
0~59 表示分
1~23 表示小时
1~31 表示日
1~12 表示月份
0~6 表示星期(其中0表示星期日)
如:

00 02 * * * /usr/local/auto.sh //表示每天早上2点钟执行 而 0 */2 * * * 表示每两个钟

0 11 4 * mon-wed //相于当:0 11 4 * 1-3 //#每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

0 17 * * 1-5 //每周一到五下午 17 点执行

30 0 * * * //每天凌晨30分执行。如果换成30 * * * * 则是每半个钟执行。

下面带一些介绍 :好记性不如烂笔记。

2.2 cron 配置文件;

cron 是一个服务器程序,我们都知道Linux的服务器的配置,大多是通过配置文件来完成的,cron自然也不例外,在Redhat/Fedora 等系统中它的全局性配置文件是/etc/crontab;在Slackware系统中,全局性文件是/var/spool/cron/crontabs/root 。每个用户也有自己的cron配置文件,我们可以通过crontab -e 来编辑它;

在一般情况下,cron都是系统默认安装的,我们要学会查看软件包是否已经安装;

rpm -qa | grep cron //说明已安装

# /etc/init.d/crond start
# /etc/init.d/crond stop
# /etc/init.d/crond restart

细心的读者发现我上面用的是:

/sbin/service crond stop

/sbin/service crond start

也是可以的

如果想在Fedora 和Redhat 或以这些发行版为基础克隆的发行版,如果想自动开机运行,请用下面的办法;
# chkconfig --levels 35 crond on
第二种:通用
# pgrep crond 注:判断crond 是否在运行;
# pkill crond 注:杀掉正在运行中的crond;
# pgrep crond 注:查看是否被杀掉了;
# /usr/sbin/crond start 注:运行crond;

2.2 cron 配置文件;

cron 是一个服务器程序,我们都知道Linux的服务器的配置,大多是通过配置文件来完成的,cron自然也不例外,在Redhat/Fedora 等系统中它的全局性配置文件是/etc/crontab;在Slackware系统中,全局性文件是/var/spool/cron/crontabs/root 。每个用户也有自己的cron配置文件,我们可以通过crontab -e 来编辑它;

转自:http://hi.baidu.com/laihua2006/item/c97941d34c9505e3b2f77753
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值