2011-03-04 9 views
0

私は毎日06:01にスクリプトを実行しようとしています。Crontab/shellscript help

スクリプトはデータをフェッチし、次のように.xmlファイルに出力します。私は、スクリプトを実行したときに

#!/bin/sh 

tv_grab_se_swedb --days 1 --quiet --output=/www/tv/tv.xml 

Priviligies

-rwxrwxrwx 1 root root  68 Mar 4 10:31 fetchdata.sh* 

は、今では動作し、私は.xmlファイルとその魅力で私の出力を取得します。

だから私は、このスクリプトを毎日実行するためのcrontabするためにこれを追加したい。..

crontabエントリ

# m h dom mon dow command 
0 6 * * * /www/tv/fetchdata.sh 

しかし、このスクリプトが実行された後に何とかtv.xmlは常に空です。

この問題に対する解決策はありますか?私は何かを忘れましたか?

-Anders

答えて

2

コマンドラインからfetchdata.shを実行すると、$ PATH変数はthistスクリプトがthroughtにcronを実行したときとは異なります。

tv_grab_se_swedbは$ PATHのいずれかで見つけることができないと

最も単純解決策を実行することができないことができる。(は/ usr/local/binに/ tv_grab_se_swedbのようなもの)をtv_grab_se_swedbするフルパスでfetchdata.sh書き換えを

+0

これはトリックのおかげです! – Anders

3

tv_grab_se_swedb$PATHの位置にあることを確認してください。cronが使用されています。

おそらく10回のうち9回、cronジョブの「説明できない」エラーは、パスの問題に沸き起こるでしょう。

+0

それはトリッキーな感謝をしました! – Anders