我正在從Nagios運行perl腳本來檢查某些文件是否在Windows機器上有特定的特徵。當我從Nagios的運行該腳本,它的結果迴應:Perl爲ls -l命令返回錯誤
未知錯誤 - LANG = C LS的執行-l導致錯誤32512 -
我的代碼是from this GitHub用單線168的變形例,所以我可以與窗口使用它:
use lib 'C$\Progra~1\Nagios\NRDS_Win\plugins';
奇怪的是該程序實際上輸出從Windows機器上的命令行預期的結果。
這裏是命令:
check_files.pl -D C:\日誌-F Health.log -a '〜300'
下面是一個例子:
CRITICAL - Health.log是10703(大於300)秒舊 - 1個 Health.log文件中找到
我修改的定義代碼LANG=C ls -l
線,但現在我只想找到:
未知錯誤 - 無法執行ls -l命令 - 沒有這樣的文件或目錄
即使他們這樣做了,'LANG = C ls -l'仍然是一個無效的Windows命令 – ikegami
'ls'在窗口框中,我確實將LANG = C行更改爲ls -l,但我仍然得到一個:UNKNOWN ERROR - 無法執行ls -l - 在nagios中沒有這樣的文件或目錄,但是如果我從命令提示符運行相同的命令,它工作正常 – mithrix
您應該檢查'ls'是否在任何環境Nagios正在運行。它可能與命令行路徑不同。 –