我正在使用check_by_ssh为nagios开发一个Perl插件 .

用我的脚本连接oracle数据库:

  • BEGIN语句:我为perl和oracle设置了环境变量,我启动了脚本的其余部分: exec "$ENV{ORACLE_HOME}/perl/bin/perl", $0, @ARGV;

  • 然后我使用DBI,连接数据库并完成工作 .

我在本地机器上获得了良好的返回代码,但是当我从nagios服务器启动脚本时,我得到了这个结果:

CRITICAL - check_by_ssh:远程命令'/ usr / local / nagios / libexec / perso_check_cons_status'返回状态2

我在 echo $? 的BEGIN语句之后测试了返回代码,我得到"2" . (我认为check_by_ssh考虑了BEGIN语句,而不是脚本的第二部分)

你能帮我解决这个问题吗? check_by_ssh有任何文件吗?这个插件/脚本如何运行?

先感谢您 .

PS:项目的约束(我无法安装任何软件包或更改主机的配置,这就是为什么我没有安装DBI和DBD :: Oracle或永久设置)