脚本在服务器:
#!/bin/bash 如果 [ !$# == 1]; 然后 echo "使用 check_cluster" 菲; clu_srv=$1 错误=“停止” 错误1 =“禁用” error2="可恢复" host1=`sudo /usr/sbin/clustat|grep $1| awk {'打印 $2'}` host2=`sudo /usr/sbin/clustat|grep $1| awk {'打印 $3'}` service1=`sudo /usr/sbin/clustat|grep $clu_srv| awk {'打印 $1'}` 如果 [[ "$host2" == "$error" ]] || [[ "$host2" == "$error1" ]]; 然后 echo "CRITICAL - $host1 上的集群 $clu_srv 服务故障转移,状态为 '$host2'" 别的 echo "OK - 集群 $clu_srv 服务在 $host1 上,状态为 '$host2'" 菲; ##--EndScript
它正确地从脚本接收你的参数。当我从命令行在服务器上手动运行此脚本时,它会返回正确的信息,例如:
# /usr/local/nagios/libexec/check_rhcs-ERS NFSService 好的 - 集群 NFSService 服务在 NODE1 上,状态为“已启动”
但是,当我使用以下命令远程尝试使用脚本(check_nrpe)时,它显示的信息不正确:
# ./check_nrpe -H localhost -c check_rhcs-ERS 好的 - 集群 NFSService 服务已开启且状态为“”
nrpe.cfg:
# 命令[check_rhcs-ERS]=/usr/local/nagios/libexec/check_rhcs-ERS NFSService
脚本有什么问题,如何解决?