Я пытаюсь запустить удаленную команду, используя 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 для расширения, что делает в приведенном выше.
Хорошо, теперь я хочу запустить его через скрипт bash с именем check_generic, для его запуска требуется параметр -e и некоторый анализ.
Однако проблема, которую я получаю, заключается в том, что удаленный компьютер Windows расширяет% PG_HOME%, а затем жалуется на место в командной строке, поскольку PG_HOME содержит «C: \ Program Files»
Другой проблемой является количество (*), поскольку оболочка хочет съесть скобки.
Я устал:
./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
Есть идеи? Большое спасибо.