将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表示要执行的脚本。
- 最新评论