Shell写脚本关于ssh执行jar包,需要刷新JDK路径的问题


比如脚本中下面这一段

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
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自www.cnblogs.com/franky-wang/p/11032375.html
今日推荐