我正在尝试从机器A执行位于机器B中的脚本。 PS - 该脚本试图在JBOSS服务器上重启ATG实例。 我尝试了以下命令 -
ssh user@hostname /path/to/script/remotescript.sh arg1 arg2
ssh user@hostname "bash -c '/path/to/script/remotescript.sh arg1 arg2'"
ssh user@hostname exec /path/to/script/remotescript.sh arg1 arg2
该脚本在本地工作,但是当从远程位置执行时,脚本会抛出以下异常 -
java.lang.ClassNotFoundException:找不到ClassLoaders:oracle.jdbc.xa.OracleXAException
感谢您的帮助。
答案 0 :(得分:0)
如果您可以显示远程代码,那么解决方案会更容易。
尝试使用ssh -t选项一次。
答案 1 :(得分:0)
如果您使用
ssh到远程计算机ssh user@hostname
然后运行脚本
/path/to/script/remotescript.sh arg1 arg2
在结果远程提示下,你得到同样的错误吗?
看起来您没有在JBOSS中提供正确的Oracle JDBC驱动程序。首先排除该错误,然后查看是否可以使用单个命令通过ssh运行它
答案 2 :(得分:0)
最后,这个谜团得到了解决。这有效 -
SSH -q USER @ hostname" source /export/home/jboss/.bash_profile; / bin / bash /path/to/script/remotescript.sh arg1 arg2"
带有加载bash配置文件的源命令就可以了。