我正在尝试使用SSH在Windows框中运行远程命令,但我希望将结果提取到check_generic中,以便将其放入Nagios监视中,但是在引用该命令时遇到问题,想知道是否有人可以帮忙。
要正常运行命令,我将运行:
ssh administrator@192.168.1.5 '"%PG_HOME%/thirdparty/pgsql-9.1/bin/psql.exe" -hlocalhost -p27778 -ddb_cache -Uuser -t -c "select count(*) from table where send_status = 4;"'
我需要PG_HOME进行扩展,就像上面那样。
好吧,现在我要通过名为check_generic的bash脚本运行它,它使用-e参数来使脚本运行并对其进行一些分析。
但是,我遇到的问题是远程Windows框正在扩展%PG_HOME%,然后它抱怨命令行中的空间,因为PG_HOME包含“ C:\ Program Files”
另一个问题是count(*),因为外壳要吃掉括号。
我很累:
./check_generic -c '> 0' -e 'ssh administrator@192.168.1.5 \'"%PG_HOME%/thirdparty/pgsql-9.1/bin/psql.exe" -hlocalhost -p27778 -ddb_cache -Uuser -t -c "select count(*) from send where send_status = 4;"\''
但是它抱怨外壳不完整,如果我摘下最后一个'-t可以检查通用而不是ssh
有什么想法吗?非常感谢。