私はperlスクリプトで次のコマンドを実行しています。
#!/usr/bin/perl
my $MPSTAT="/usr/bin/mpstat";
my $GREP="/bin/grep";
my $FREE = "/usr/bin/free";
my $AWK = "/bin/awk";
my $cpu = `$MPSTAT | $GREP all | $AWK '{print (100 - \$12)}'`;
print "CPU is $cpu";
このperlスクリプトを手動で実行すると、正しく実行され、適切なCPU使用率(%(100-アイドルCPU))が提供されます。
しかし、cronジョブとして実行すると、常に100が出力され、awkの$ 12が値0を取得しているように見えます。cronでの動作が異なる理由についてのポインタは、役に立ちます。