比如腳本中下面這一段
ssh $i "java -jar /applog/$PROJECT/$APPNAME --server.port=$SERVER_PORT >/dev/null 2>&1 &"
免密登錄linux服務器,執行jar包,
通過ssh執行java程序,涉及到一個找不到JDK路徑的問題,腳本執行會不成功。
解決方案:
(1)第一種方式
在~路徑下ll -a會發現一個隱藏文件.bashrc
[kevin@hadoop101 ~]$ cat /etc/profile >> .bashrc
[kevin@hadoop101 ~]$ source /etc/profile
把JDK路徑追加到.bashrc文件下,source一下即可(集群每臺虛擬機都要執行一次)。
(2)第二種方式
在腳本下寫JDK全路徑
JAVA_BIN=/bigdata/jdk1.8.0_152/bin/java
.................
ssh $i "$JAVA_BIN -Xms32m -Xmx64m -jar /applog/$PROJECT/$APPNAME --server.port=$SERVER_PORT >/dev/null 2>&1 &"
(3)第三種方式
在腳本下引號內把/etc/profile source一下
ssh $i "source /etc/profile; java -jar /applog/$PROJECT/$APPNAME --server.port=$SERVER_PORT >/dev/null 2>&1 &"
---------------------
作者:攻城獅Kevin
來源:CSDN
原文:https://blog.csdn.net/wx1528159409/article/details/87893900
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!