プロが教えるわが家の防犯対策術!

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

A 回答 (2件)

cronからの実行だと端末がないので、top -b -n 1 とバッチモードで実行させてください。


また、`top -b -n 1` だと、改行が全部空白になるので、解読困難な出力になりますよ。

FILENM=top.log
(
date
top -b -n 1
) > ${FILENM}

などとしてください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/05/14 18:51

>cat <<EOF >> ${FILENM}


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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!