Linux下定时运行java程序
来源:互联网 发布:淘宝设计师助手官网 编辑:程序博客网 时间:2024/05/16 13:50
一,打包java项目。
1、 在MyEclipse中将java程序运行一遍得到class文件后,右键点击dbtodb工程,选择Export:点击next:
在JAR file :选择jar包存放的路径及jar包名字,点击finish。Jar包导出完成。
2.在c盘找到刚导出的jar包,我们将jar包放到一个dbtodb的文件夹下,打开jar包:
打开META-INF:
这里将MANIFEST.MF解压出来,然后对其进行配置,内容如下:
Manifest-Version:1.0
Main-Class:caic.dbtodb 指定程序运行的入口类,例如本程序内运行的main()在dbtodb.class中,配置为:包名.类名。
注意:类名后不要加class扩展名
Class-Path: ./lib/ojdbc14.jar./lib/postgresql-8.4-701.jdbc3.jar ./lib/jdom.jar
这里配置的是程序所用到的jar包,我们将所用到的jar包放到dbtodb.jar同目录下得lib文件夹下,如图:
配置完成后。由于jar包读取xml文件和java程序读取xml文件的路径有所不同,本程序读取xml文件是用SAXbuilder实现,所以将xml配置文件放到dbtodb.jar的同目录下就可以读取到,如图:
到此导出jar包及配置完成。
二,linux下面的shell脚本。
1. 在dbtodb文件夹下新建一个ftpcounter.sh,脚本内容为 ,我要执行的是FtpCounter.jar。
#!/bin/bash#导入环境变量export LANG="en_US.UTF-8"export JAVA_HOME=/usr/javak1.6.0_31export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarFTP_HOME=/opt/ftpcountersed -i "/OVER/ s/=.*/=0/g" $CONFIGcd $FTP_HOME java -jar $FTP_HOME/recommend2_2014_11_5.jar && echo "执行recommend2_2014_11_5.jar完成!" && sed -i "/OVER/ s/=.*/=1/g" $CONFIG || echo "执行FtpCounter.jar失败!"echo "【`date +%Y-%m-%d_%H:%M:%S`】统计程序运行完毕,等待下次执行."
3.对dbtodb.sh赋权限,具体操作如下:
[root@bidev /]# cd /usr/dbtodb[root@bidev dbtodb]# chmod 777 dbtodb.sh
4.由于Windows于linux编码格式不同,需要对dbtodb.sh进行编码转换,具体操作如下:
[root@bidev dbtodb]# dos2unix dbtodb.shdos2unix: converting file dbtodb.sh to UNIX format ...
三,监控程序。
在linux下面执行java程序的时候有时候会莫名其妙的自动停止,下面我加了一个监控脚本。叫作ftpcounterwatch.sh。
#!/bin/bashpidfile=/tmp/scoreCacl.pidif [ -e $pidfile ]then pid=`cat $pidfile` pid_ps=`ps -ef|grep $pid|awk '{ print $2 }'` for apid in $pid_ps do if [ $apid -eq $pid ] then exit fi donefiecho $$ >$pidfile#导入环境变量export LANG="en_US.UTF-8"export JAVA_HOME=/usr/local/jdkexport PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarcd javajava -jar recommend2.jar && echo "!!!!!!!"echo "【`date +%Y-%m-%d_%H:%M:%S`】统计程序运行完毕,等待下次执行."rm -f $pidfile
四,定时器的设置。
1.在控制台上输入以下命令
crontab -e
2.按i键编辑这个文本文件,输入以下内容,每天凌晨2:00执行该任务并将任务日志输入到/usr/dbtodb/log.txt
00 02 * * * /usr/dbtodb/dbtodb.sh &>/usr/dbtodb/log.txt
按esc键退出编辑,输入wq回车保存
3.启动定时服务
[root@]# service crond stop[root@]# service crond start
[根@]#服务的crond启动
- Linux下定时运行java程序
- Linux下定时运行java程序的做法
- 在linux下执行定时任务运行一个java程序
- ubuntu下定时运行java程序
- linux下运行java程序
- Linux下cron定时执行Java程序
- linux下定时启动Java程序
- linux/windows下定时执行java程序
- Linux下定时执行JAVA程序
- Linux下cron定时执行Java程序
- Java中定时运行程序
- JAVA程序定时运行_hanCSDN_20130424
- java 让程序定时运行
- Linux下运行Java程序脚本
- LINUX下,后台运行JAVA程序
- linux下运行Myeclipse中的Java程序
- Java程序在linux下运行<转>
- linux 下单独运行java程序
- 使用GitHub存储代码,进行代码版本管理。
- 单片机编程
- 桌面上文件有蓝色底的白色问号
- su官网
- 有限状态机
- Linux下定时运行java程序
- Linux获取外网IP
- 浅谈算法和数据结构(10):平衡查找树之B树
- View事件的传递之一_单独看Button的传递
- linux命令详解之useradd命令使用方法
- 浅谈算法和数据结构(11):哈希表
- maya和Unity中的坐标系旋转
- java 实现中文转化为拼音代码 汉字转化为拼音源码分享
- IOS横竖屏切换