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 //说明已安装
[root@localhost ~]# /etc/init.d/crond start
[root@localhost ~]# /etc/init.d/crond stop
[root@localhost ~]# /etc/init.d/crond restart
细心的读者发现我上面用的是:
/sbin/service crond stop
/sbin/service crond start
也是可以的
如果想在Fedora 和Redhat 或以这些发行版为基础克隆的发行版,如果想自动开机运行,请用下面的办法;
[root@localhost ~]# chkconfig --levels 35 crond on
第二种:通用
[root@localhost ~]# pgrep crond 注:判断crond 是否在运行;
[root@localhost ~]# pkill crond 注:杀掉正在运行中的crond;
[root@localhost ~]# pgrep crond 注:查看是否被杀掉了;
[root@localhost ~]# /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
分享到:
相关推荐
在Linux环境中,定时执行Java程序是一项常见的需求,用于自动化任务执行,例如监控系统状态、发送短信和邮件通知。本文将详细介绍如何实现这样的功能,并探讨其中涉及的多线程技术和相关工具。 首先,我们需要一个...
在Linux环境下,编写脚本来编译Java代码以及定时删除日志是常见的系统管理任务,这有助于保持系统的高效运行和良好的资源管理。以下是关于这个主题的详细讲解。 首先,让我们了解如何在Linux下编译Java程序。Java源...
本篇文章将详细讲解如何将Java程序打包成jar,以及如何在Windows和Linux系统下进行定时执行。 首先,你需要一个Java编译器,如JDK,来编译源代码。在完成编程后,使用`javac`命令编译`.java`文件为`.class`字节码...
Java定时关机小程序是一种实用的计算机管理工具,它允许用户设定一个特定的时间点,系统将自动执行关机操作。在Java编程中实现这样的功能主要涉及到操作系统交互和时间处理。下面我们将详细探讨如何使用Java来创建...
总结起来,独立在Linux上运行Java程序需要配置`JAVA_HOME`和`CLASSPATH`,管理依赖的jar包,编写脚本进行执行,并可能借助`cron`服务进行定时调度。这个过程需要对Linux命令行工具和Java环境有深入理解,以便有效地...
这个"JAVA定时关机程序源代码"是一个很好的学习资源,特别是对于初学者来说,它能深入理解Java语言的基础和高级特性。 首先,我们需要了解Java中的定时任务。Java提供了多种实现定时任务的方式,如java.util.Timer...
总的来说,shell和bat脚本提供了一种方便的方式来管理和运行Java程序,特别是对于需要定时执行或在后台运行的任务,它们能极大地简化操作流程。通过熟练掌握这两种脚本,你可以更高效地管理Java应用的生命周期。
在 Linux 中,crontab 是一个常用的定时任务管理工具,它允许用户在指定的时间执行命令或程序。 在 Linux 中,要使用 crontab,首先需要使用 `crontab -e` 命令来编辑 crontab 文件。在编辑器中,可以添加、删除或...
3. **Linux定时任务**: - 在Linux中,我们可以使用`cron`来创建定时任务。在终端中,使用`crontab -e`命令编辑定时任务文件。 - 添加一条定时任务,例如每小时执行一次Java程序: ``` 0 * * * * java -jar /...
本篇将详细探讨如何使用Java来实现Linux系统的远程拷贝功能。 首先,要实现Linux的远程拷贝,我们需要用到Java的SSH(Secure Shell)库,例如JSch。JSch是Java的一个开源库,提供了SSH2协议的实现,允许我们通过SSH...
批处理执行Java代码是一种在没有用户交互的情况下自动化运行Java程序的方法。这通常涉及到创建一个批处理脚本(在Windows系统中是`.bat`文件,在Unix或Linux系统中是`.sh`文件),然后在这个脚本中调用Java命令来...
在定时关机程序中,`mainfest.mf` 可能指定了`Shutdown.java` 中的某个类作为程序的入口点,这样运行JAR文件时就会从这个类开始执行。 6. **多线程和事件驱动**: 为了确保程序在执行关机操作时能够响应用户的其他...
6. **多线程与定时任务**:为了定期自动执行备份,可以将备份功能封装成一个独立的Java类,然后使用`java.util.Timer`或Spring的`@Scheduled`注解来设置定时任务。 7. **安全性考虑**:在代码中避免硬编码敏感信息...
Linux定时运行命令是Linux系统中用于自动化执行任务的重要工具,主要通过`crontab`命令进行设置。`crontab`允许用户定义一系列按照特定时间间隔执行的任务,这些任务会在后台自动运行,无需用户手动干预。 1. `...
标题中的“java执行linux的SH文件”指的是在Java程序中调用Linux系统中的Shell脚本进行执行。这通常涉及到Java的Runtime类或者ProcessBuilder类,它们可以用来与操作系统进行交互,执行外部命令。 1. **Java运行...
然后通过`Timer`类创建一个定时器对象,设置定时执行的时间间隔,将`TimerTask`实例传递给`Timer`的`schedule()`方法来安排任务执行。 在描述中提到的“规编程”可能指的是规则引擎,如Apache Drools或JESS,它们...
6. **异常处理**:良好的代码应该包含充分的错误处理机制,以应对可能的运行时异常,确保程序的稳定性和安全性。 7. **跨平台兼容性**:如果程序支持多平台,那么需要编写条件编译或使用跨平台库,如Qt或wxWidgets...
在Linux中,可以使用`sudo shutdown now`,但需要以管理员权限运行程序。在macOS中,可能需要使用`osascript`命令来执行AppleScript。 请注意,这种方法的适用性有限,因为它依赖于特定操作系统的API。在生产环境中...
cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。 service crond start //启动服务 service crond stop //关闭服务 service crond restart //重启服务 service crond reload //...