持之以恒

          記錄本
          posts - 4, comments - 32, trackbacks - 0, articles - 74
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          將Java程序部署到Linux上并讓其定期執行

          Posted on 2012-03-23 10:36 小白19870626 閱讀(174) 評論(0)  編輯  收藏 所屬分類: 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表示要執行的腳本。



          小白
          主站蜘蛛池模板: 滨州市| 青河县| 重庆市| 隆化县| 巴彦淖尔市| 本溪市| 井研县| 义马市| 高陵县| 松江区| 台北县| 比如县| 石狮市| 保山市| 额敏县| 定兴县| 金坛市| 郧西县| 湖南省| 聊城市| 肇东市| 阳城县| 西藏| 清苑县| 石嘴山市| 时尚| 弥勒县| 蚌埠市| 宁南县| 青阳县| 织金县| 双城市| 南川市| 北京市| 宁阳县| 成都市| 丽江市| 伊宁县| 辽源市| 烟台市| 常宁市|