• ベストアンサー

cronでtopコマンドを使用するスクリプトを実行すると値が取れないの

cronでtopコマンドを使用するスクリプトを実行すると値が取れないのですが、 なぜなんでしょうか?どうすれば値が取れるようになるのでしょうか? OSはubuntu10.04を使っています。 $./test.shで直接動かすとtopの値は取れるのですが、 cronで動かした場合だとdateの値しか出力されていません。 -----test.sh----- #!/bin/bash FILENM="top.log" cat <<EOF >> ${FILENM} `date` `top -n 1` EOF

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

cronからの実行だと端末がないので、top -b -n 1 とバッチモードで実行させてください。 また、`top -b -n 1` だと、改行が全部空白になるので、解読困難な出力になりますよ。 FILENM=top.log ( date top -b -n 1 ) > ${FILENM} などとしてください。

hurikake
質問者

お礼

ありがとうございます。 -bをつけると無事出力されました。

その他の回答 (1)

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

>cat <<EOF >> ${FILENM} >`date` >`top -n 1` >EOF ではなく、 date >> ${FILENM} top -n 1 >> ${FILENM} では駄目なのですか?

関連するQ&A