linux Crontab定時執行JAR
阿新 • • 發佈:2018-12-03
在linux下面執行java程式,一般情況下我們先打包成jar檔案,然後放在linux下,用指令碼去執行它。
time.sh:
#!/bin/bash
export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
export PATH=$JAVA_HOME/bin:$PATH
java -jar /opt/local/test/SimHash.jar
注意需要給time.sh賦權(chmod 777 aaa.txt 給aaa.txt 賦權)
首先需要匯入java的環境變數,如果想要在執行中文的時候不出現亂碼,還要匯入中文編碼。之所以要匯入這些內容,是因為crontab定時程式呼叫指令碼時,系統的環境變數是沒有載入的。
其次執行jar的命令是java -jar 加jar檔名稱就可以了,這個命令是跨平臺的。
在Linux系統中執行jar包,大家都知道可以直接輸入java -jar XXX.jar。設想一個場景,這個jar包是一個關於對賬的,對賬需要每天都對,每天通過手工敲這行程式碼,顯然不方便。所以,我們可以利用crontab進行定時任務的設定。
定時任務列表,輸入crontab -e,在裡面輸入你想要設定的定時任務:
每天凌晨1點10分執行指令碼,輸出日誌到指定檔案
crontab檔案格式:
* * * * * command
分 時 天 月 星期 命令
*/5 * * * * /home/test.sh 在每5分鐘執行一次test.sh指令碼