我有两个服务器服务器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 环境的新手。我已经浏览了这里发布的大部分问题,但我的问题似乎是一个不同的案例。
任何帮助不胜感激
>Oracle 安装了一个文件oraenv
,用于设置一些环境变量,包括sqlplus
等命令所在的 PATH。当您启动登录 shell 时,该文件包含在内,要执行此操作的命令可能是由安装程序创建的。
用
ssh test@server1.xxx.com "source /path/to/oraenv; cd Scripts/Shell; ./Process_Backup.sh"
文件oraenv
可能低于/usr/local
.