linux定时执行java程序

来源:互联网 发布:知乎专栏怎么写 编辑:程序博客网 时间:2024/05/18 00:39

业务要求:每天凌晨3点30从某业务平台FTP下载文件

步骤:

1.完成业务功能代码后打成jar包,如 downFile.jar。在打downFile.jar时无需将依赖的jar包括进去。将dowFile.jar和它所依赖的jar包如commons-net-3.1.jar拷到linux的相应目录,如/home/tomcat/down_file下。

2.在/home/tomcat/down_file下创建shell脚本downfiletask.sh。使用chmod +xdownfiletask.sh,为文件授予可执行权限。shell脚本内容如下:

#!/bin/sh
export HOME="/home/tomcat/down_file"
export JAVA_HOME="/opt/jdk1.6.0_27"
export CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CLASSPATH=$CLASSPATH:$HOME/commons-net-3.0.1.jar:$HOME/downFile.jar:.
echo $CLASSPATH
cd $HOME
$JAVA_HOME/bin/java -cp $CLASSPATH -Dfile.encoding=GBK com.cattsoft.data.DownFile

提示:cd $HOME 不加上也可以执行,但是在定时执行和直接执行可能会因为当前路径不一致,引起一些差异。我开始不知道就没有写,后来发现程序在定时执行时获取配置文件的路径就和直接执行时获取到的路径不一样,导致程序出错。

3.在/home/tomcat/down_file下创建定时任务文件tomcatcron。文件内容如下:

30 3 * * * nohup /home/tomcat/down_file/downfiletask.sh>/dev/null 2>&1 &

4.在命令行输入 crontab tomcatcron,向系统提交定时任务。提交后可以通过crontab -l进行查看,crontab -r进行删除。如果提交不成功,可以考虑crontab用户权限问题。



0 0
原创粉丝点击