快捷搜索:   nginx

将Java程序部署到Linux上并让其定期执行

一、环境介绍:
 
  SecureCRT5.1+winXP +WMware+Redhat
 
  注:如果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表示要执行的脚本。
 

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论