Я запускаю Perl-скрипт из Nagios для проверки некоторых файлов на определенные характеристики на машине Windows. Когда я запускаю скрипт из Nagios он отвечает результат:Perl Возвращаемая ошибка для команды ls -l
UNKNOWN ERROR - выполнение LANG = C Ls -l приводит к ошибке 32512 -
Мой код from this GitHub с одним модификация линии 168, так что я могу использовать его с окнами:
use lib 'C$\Progra~1\Nagios\NRDS_Win\plugins';
странным является программа фактически выводит ожидаемый результат из командной строки на машине окна.
Вот команда:
check_files.pl -Д C: \ журналы -F Health.log -a '~ 300'
Вот пример:
CRITICAL - Health.log является 10703 (более 300) секунд старый - 1 Health.log файлы найдены
я изменил линию, определенную LANG=C ls -l
в коде, но теперь я просто получаю:
UNKNOWN ERROR - не может выполнить LŠ -l - Нет такого файла или каталога
Даже если бы они это сделали, 'LANG = C ls -l' все равно была бы недопустимой командой Windows – ikegami
'ls' находится в окне окна, и я изменил строку LANG = C только на ls -l, но я все еще получить: UNKNOWN ERROR - не удалось выполнить ls -l - нет такого файла или каталога в nagios, но если я запустил ту же команду из командной строки, она отлично работает – mithrix
Вы должны проверить, что 'ls' находится на пути из любой среды Nagios работает. Он может отличаться от пути командной строки. –