设为首页 加入收藏

TOP

将Java程序部署到Linux上并让其定期执行
2014-11-24 02:26:09 来源: 作者: 【 】 浏览:0
Tags:Java 程序 部署 Linux 定期 执行

一、环境介绍:


注:如果SecureCRT连不上虚拟机上的Linux则应注意两个地方,一个是虚拟机上的网卡是否是用的桥接,或是直接连到物理网卡,ip是否与xp机的ip在同一个网段.如果在虚拟机上的Linux 能访问外网,但是还不能连是则在Linux的终端上输入services iptables stop这后就可以连上了.


二、在Linux上安装jdk


去java的官网下一个适合Linux的jdk,我们这里下一个jdk-6u4-Linux-i586.bin,用SecureCRT连上Linux,进入我们将要放jdk的目录,输入rz,在弹出的对说框中选择我们下的jdk将其传到Linux上去.用ls命令看一下文件是否传上来了,然后给这个文件加上可执行的权限: chmod +x jdk-6u4-Linux-i586.bin,然后再执行这个文件:. jdk-6u4-Linux-i586.bin这时你会看到jdk的安装信息.当要你输入yes or no时输入yes.安装完成后,我们配置一下java的环境变量,修改/etc/profile文件:vi /etc/proifle 然后按下字母a 进入插入模式,在最后加入如下几行:


PATH=$PATH:/usr/java/jdk1.6/bin
export PATH


JAVA_HOME=/usr/java/jdk1.6
export JAVA_HOME


按esc键后键入:wq回车保存文件.在终端输入java -version回车如果出现如下的信息则说明你安装jdk成功了


java version “1.6.0_04″
Java(TM) SE Runtime Environment (build 1.6.0_04-b12)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)


三、写一个java程序,认其记录日志:


用eclipse新建一个工程:Linuxtest 包结构如下


–Linuxtest/src/com/dao/Appdao.java
–Linuxtest/src/com/main/Main.java
–Linuxtest/src/log4j.properties


这三个文件内容分别如下:


Appdao:
java:package com.dao;


import org.apache.log4j.Logger;


public class Appdao {
private static final Logger logger=Logger.getLogger(Appdao.class);


public void show(){
logger.info(”this is info message”);
logger.debug(”this is debug message”);
logger.error(”this is error message”);
logger.fatal(”this is fatal message”);


}


}


Main.java:
package com.main;


import com.dao.Appdao;


public class Main {


public static void main(String[] args) {
Appdao dao=new Appdao();
dao.show();
}


}


log4j.properties


log4j.rootLogger=DEBUG,CONSOLE
log4j.addivity.org.apache=true
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=DEBUG
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d
- %c -%-4r [%t] %-5p %c %x – %m%n
#log4j.appender.CONSOLE.layout.ConversionPattern=[start]%d{DATE}
[DATE]%n%p[PRIORITY]%n%x[NDC]%n%t[THREAD] n%c[CATEGORY]%n%m[MESSAGE]%n%n


添加必需的jar包:commons-logging-1.1.1.jar log4j-1.2.8.jar


四、将程序打成jar包


利用 java的jar命令或其它打包命令将程序打成jar包,并测试其在winxp的dos下用java -jar能否执行成功,执行成功了再将其传到Linux上去。具体怎么打包查看我的另一篇文章.我这里将程序打包后得到如下文件:Linuxtest.jar 和一个lib文件夹,里面放了程序运行所需的jar包.为了传输方便我又将所有的文件压缩成一个zip包:app.zip利用rz命令将其传到Linux上的/webapps/目录下


五、编写执行程序的脚本


cd /webapps 进入目录


rz 将app.zip上传到这个目录


unzip app.zip 将文件解压


rm app.zip 删除app.zip


ls 你可以看到如下内容:


lib Linuxtest.jar


cat>>start.sh新建一个脚本文件,输入如下内容


java -jar Linuxtest.jar


CTRL+D保存文件


chmod +x start.sh 给其加上可执行权限


. start.sh执行脚本运行程序你若看到如下内容则说明你成功了:


[framework] 2008-02-24 19:44:19,181 – com.dao.Appdao -0
[main] INFO com.dao.Appdao – this is info message
[framework] 2008-02-24 19:44:19,187 – com.dao.Appdao -6
[main] ERROR com.dao.Appdao – this is error message
[framework] 2008-02-24 19:44:19,188 – com.dao.Appdao -7
[main] FATAL com.dao.Appdao – this is fatal message


六、将这个程序加到定时任务中去


crontab -l 查看已有的定时任务,


crontab -e 添加或修改定时任务,加入如下行


#每分钟执行一次/webapps/Linuxtest/Linuxtest.jar


1 * * * * /webapps/Linuxtest/start.sh


然后esc,键入:wq回车保存文件


#后是注释


1 * * * * /webapps/Linuxtest/start.sh 前面6个位,f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天f6表示要执行的脚本。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇利用Java的反射机制编写的可以扩.. 下一篇Linux内核中的循环链表结构

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: