1. 程式人生 > >linux定時檢查jar包執行並重啟

linux定時檢查jar包執行並重啟

linux後臺執行jar包,經常以外退出,定時計劃執行sh檢查jar包執行並重啟

新建restart.sh

[email protected]:~/sub#touch restart.sh

許可權設定744(需要注意定時任務的使用者有沒有執行許可權)

[email protected]:~/sub#chmod 744 restart.sh
編輯restart.sh 檔案:
#!/bin/sh
export LANG="en_US.UTF-8"
export JAVA_HOME=/usr/java/jdk1.8.0_151
export PATH=$JAVA_HOME/bin:$PATH  
export CLASSPATH=.:$JAVA_HOME/dt.jar:$JAVA_HOME/tools.jar 
#java環境變數

jarDir="/root/sub"
jar="SSR_subscribe-1.0.0.jar"
logFile="/root/sub/restart.log"

restart(){
        cd ${2}
        if [ ! -f ${1} ];then
                echo "jar not exist" >> ${logFile}
                return
        fi
        (java -jar ${1} &)
#埠對映       iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
}

check(){
        count=$(ps -ef | grep ${1} | grep -v "grep")
        if [ -n "${count}" ];then
#               echo "`date` ${1} is running" >> ${logFile}
               echo "`date` ${1} s running"
        else
                restart ${1} ${2}
                echo "`date` ${1} is down. restartig" >> ${logFile}
#               echo "`date` ${1} is down"

        fi
}

check ${jar} ${jarDir}

定時任務,每小時檢查jar包執行,如果退出重啟

[email protected]:~#crontab -e
* */1 * * * /bin/sh /root/sub/restart.sh
參考:crontab使用者許可權

相關推薦

linux定時檢查jar執行並重

linux後臺執行jar包,經常以外退出,定時計劃執行sh檢查jar包執行並重啟新建restart.sh[email protected]:~/sub#touch restart.sh許可權設定744(需要注意定時任務的使用者有沒有執行許可權)[email 

linux jar 執行與關閉

  一些簡單的操作linux jar包命令 1、執行jar包的命令和在windows作業系統上是一樣的,都是java -jar xxxx.jar。 2、將jar程式設定成後臺執行,並且將標準輸出的日誌重定向至檔案consoleMsg.log。 nohup java 

centos/ubuntu jenkins.war 自啟動指令碼,Linux啟動停止jar執行案例

#! /bin/sh # chkconfig: 2345 10 90 # description: jenkins .... # This script will be executed *afte

java 定時器 打jar 執行小程式

專案結構最近專案中需要定時跑資料,所以剛接觸到了定時器目前我所接觸到的有3種方式,一種是jdk自帶的Timer 類,一種是spring自帶的定時,第三種是開源的quartz,這裡用舉例子用到的是JDk中的Timer先看jdK 1.6文件是這麼描述主要方法有實現定時執行某項任務

Windows/Linux下引用jar,並用javac/java編譯執行

1> Windows 假設要引用的jar放在D:/test目錄下,名字為t1.jar, java原始檔放在D:/test/src目錄下,名字為t2.java。 編譯: javac  -cp  d:/test/t1.jar  d:/test/src/t2.java 執行

Webservice客戶端工程導成runnable jar執行時出現異常

一、問題描述 eclipse整合環境,spring 4.1.3.RELEASE + cxf 2.5.0框架,開發的Webservice客戶端程式。在eclipse開發環境下執行正常,匯出runnable jar包時出現如下異常: java.lang.NullPointerExcept

Java 獲取當前jar執行的路徑

1.應用根據需求來,直接上程式碼 //獲取當前jar 的執行路徑 ApplicationHome home = new ApplicationHome(getClass()); File jarFile = home.getSource();

關於springboot專案jar執行時圖片上傳及顯示問題

spring boot打成jar包後(比如jar的名字叫a.jar),執行時輸入命令: java -jar  d:\a.jar 就可以運行了。那麼程式中要求的比較大的圖片檔案將如何辦呢? 只需要將它們同時放在與jar包相同的檔案路經下就可以,但圖片資料夾的名字不能隨便取哦!因為

windows實現自動部署jar執行程式

windows執行jar包還是比較簡單的,這邊部落格只是把啟動的命令打包成一個windows可執行的bat檔案下面就說一下吧 首先在windwos放置jar包的位置,新建start.bat檔案 檔案內容如下 @echo off java -jar doctor

linux自動部署jar,註冊系統服務(基於Centos7)

最近一直在搞伺服器,現在要執行我們的程式,都是jar包的格式,但是每次輸入執行命令都很麻煩,現在進行放入指令碼啟動或者註冊服務啟動,來簡化啟動,但是這個方法也有一定的缺陷,需要一定的標準規範才可以正確執行,比如jar包的打包名稱一定要和指令碼中的名稱一樣 下面進入正題,首先來指令碼啟

AndroidStudio開發Java工程(解決java控制檯中文列印亂碼+匯入jar執行工程)

轉載請註明出處:https://blog.csdn.net/u012932409/article/details/84936189 這篇分享一點個人AS開發java工程經驗,雖然有時候還是得開啟eclipse來執行java專案,但能用AS的時候還是儘量用AS,畢竟一個字

Spring boot打成jar執行沒有主清單屬性

因為使用parent工程來統一管理jar包,所以我們的子工程是繼承父工程! 所以沒有繼承spring-boot-starter-parent這個parent pom!而是引入spring-boot-st

pvuv的程式碼開發及提交spark程式jar執行讀取資料來源並將結果寫入MySQL中

目錄 PvUvToMysql類 ConnectionUtils類 jdbc.properties檔案 在IDEA中打jar包的兩種方式 IDEA打jar包 IDEA中maven方式打jar包 提交spark程式ja

DOS視窗帶jar執行java程式

由於工作環境的問題,有過一次這樣的測試,需要在DOS視窗執行帶有jar包的java程式 編譯命令如下: javac -Djava.ext.dirs=./lib Test.java 或 javac -Djava.ext.dirs=D:/fengqiao/lib Test.java 上面標紅色

錯誤點選jar將導致bat檔案和exe視窗執行不了,jar執行

伺服器部署jar包,在這裡提供兩種執行方式和錯誤點選jar包的解決辦法 1.鍵盤 windows+R鍵輸入cmd 按照以下方式輸入: (1) D:        ==> (2) cd D:\hdd\grjbxx ==>(3)java -jar aaa.j

hadoop下提交jar執行時連線失敗異常或連線被拒絕

提交jar包執行時連線失敗異常或連線被拒絕 錯誤提示為: Exception in thread "main" java.net.ConnectException: Call From mini02/192.168.91.4 to mini02:8032 fai

idea springboot專案打成jar執行

做記錄,方便查閱。 首先 確認pom.xml 中的 packaging標籤的屬性  如下 <packaging>jar</packaging> 然後確認plugin部分 貼上程式碼 <plugin>

idea執行springboot專案沒報錯,打成jar執行報錯java.lang.IllegalArgumentException: name

idea執行springboot專案沒報錯,打成jar包執行java.lang.IllegalArgumentException: name 解決方法: org.springframework.beans.factory.BeanDefinitionStoreExce

jar執行報錯 “Invalid or corrupt jarfile ***.jar

在ecs上執行jar包發現報錯“Invalid or corrupt jarfile“, 網上查詢一波普遍說 MAINIFEST MF檔案內容格式不對,在引數的“:” 後需要增加空格,查詢一波後發現我的檔案正確的。我在本地執行jar能夠完美執行,上傳到esc上面就出問題了,我做了以下排查: &n

Spring Boot打jar執行,引用外部jar

剛遇到這個問題的時候,一臉懵逼,已經打好jar包在伺服器上執行,訪問介面的時候卻提示java.lang.NoClassDefFoundError。後來發現是因為引用了一個語音合成的jar包,這個jar包不是通過maven引入的事直接add Jar新增的,所以在打包執行的時候讀