-2

Nagios から perl スクリプトを実行して、Windows マシンの特定の特性についていくつかのファイルをチェックしています。Nagios からスクリプトを実行すると、次の結果が返されます。

UNKNOWN ERROR - LANG=C ls -l を実行すると、エラー 32512 が発生しました -

私のコードはこの GitHub からのもので、168 行目を 1 つ変更して、Windows で使用できるようにします。

use lib 'C$\Progra~1\Nagios\NRDS_Win\plugins';

奇妙なことは、プログラムが実際に Windows マシンのコマンド ラインから期待される結果を出力することです。

コマンドは次のとおりです。

check_files.pl -D c:\logs -F Health.log -a '~,300'

次に例を示します。

重大 - Health.log は 10703 (300 秒以上) 経過しています - 1 つの Health.log ファイルが見つかりました

コードで定義されている行を変更LANG=C ls -lしましたが、今は次のようになります:

不明なエラー - ls -l を実行できませんでした - そのようなファイルまたはディレクトリはありません

4

1 に答える 1

2

lsは unix コマンドであり、デフォルトでは Windows にはそのようなコマンドはありません。

必要な場合は、GNU CoreUtilsなどからインストールできます。

LANG=C ls -lWindowsではそのようls -lな環境変数を設定できないため、639行目のシェルコマンドを から に変更する必要もあります。

于 2016-07-27T17:31:59.037 に答える