- ベストアンサー
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
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
cronからの実行だと端末がないので、top -b -n 1 とバッチモードで実行させてください。 また、`top -b -n 1` だと、改行が全部空白になるので、解読困難な出力になりますよ。 FILENM=top.log ( date top -b -n 1 ) > ${FILENM} などとしてください。
その他の回答 (1)
- SaKaKashi
- ベストアンサー率24% (755/3136)
回答No.1
>cat <<EOF >> ${FILENM} >`date` >`top -n 1` >EOF ではなく、 date >> ${FILENM} top -n 1 >> ${FILENM} では駄目なのですか?
お礼
ありがとうございます。 -bをつけると無事出力されました。