我有两个服务器服务器A ,其中有一个shell脚本-'Process_Backup.sh'。
我在服务器A-'./Process_Backup.sh'上执行了该脚本,并且执行得很好。基本上,此脚本连接到服务器A上的oracle数据库并执行一个过程。
我需要做的是从另一个服务器B 在服务器A上执行脚本'Process_Backup.sh'。
我尝试从服务器B
执行以下命令ssh test@server1.xxx.com "cd Scripts/Shell; ./Process_Backup.sh"
但是我遇到以下错误-
line 49: sqlplus: command not found
我在服务器A上安装了所有软件,所以不确定为什么会出现此错误。我是Linux环境的新手。我已经解决了这里发布的大多数问题,但我的情况似乎有所不同。
感谢您的帮助
答案 0 :(得分:0)
Oracle安装了文件oraenv
,该文件设置了一些环境变量,包括诸如sqlplus
之类的命令所在的PATH。启动登录Shell时会包含该文件,该命令可能是由安装程序创建的。
使用
ssh test@server1.xxx.com "source /path/to/oraenv; cd Scripts/Shell; ./Process_Backup.sh"
文件oraenv
可能位于/usr/local
下方。