2011-06-07 11 views
4

コマンドラインからうまく実行されるpythonスクリプト "start.py"があります。そこには1つのステートメントしかありません( "hello"を印刷します)。編集:start.pyはまた、最初の行に働いているインタプリタディレクティブを含んでいます。pythonスクリプトがcronから実行されない

とすぐに私はcronジョブからスクリプトを実行すると、それが発火するたびにsyslogにメッセージがある

Jun 7 02:57:01 mit CRON[23275]: Module is unknown 
私はcronのファイルへのパスとPYTHONPATH情報を追加するためにすでに試みた

$ cat /etc/cron.d/my_cron 
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 
PYTHONPATH=/usr/lib/python2.6:/usr/lib/python2.6/plat-linux2:/usr/lib/python2.6/lib-tk:/usr/lib/python2.6/lib-old:/usr/lib/python2.6/lib-dynload:/usr/lib/python2.6/dist-packages:/usr/lib/pymodules/python2.6:/usr/lib/pymodules/python2.6/gtk-2.0:/usr/local/lib/python2.6/dist-packages 
* * * * * mit /home/mit/dev/start.py 

私は同じように見えるが、何も役に立たなかったいくつかの答えと解決策を見つけた。私は何が欠けていますか?

+0

ファイル所有権またはアクセス権の問題が考えられます。 – Cole

+0

あなたはなぜあなたのcrontabに 'mit'が必要なのですか? –

+1

あなたのスクリプトの内容を投稿してください...最初の行はあなたのインタプリタを指定する必要があります。 '#!/ usr/bin/python' –

答えて

3

PAMの最近のアップデートでcronが壊れました。コンピュータを再起動してください(またはsudo /etc/init.d/cron restartでcronを再起動してください)

+0

私は試してみます。私は前に働いていたcronスクリプトに気付きましたが、もうある時点で実行しませんでした。 – mit

+0

ありがとうございました。 cronを再起動しました。 :) – mit

0

あなたの前にpythonを追加するのを忘れました。

* * * * * mit /usr/bin/python /home/mit/dev/start.py 
+3

ファイルが実行可能ファイルにchmodされていて、最初の行としてインタプリタディレクティブが含まれていれば、それは問題ではないかもしれません。 –

+0

不完全な投稿をお詫び申し上げます。私はPythonの有無にかかわらず、すべての組み合わせを試していました。また、正確なインタプリタを持つシバン線もあります。スクリプトは私が '/home/mit/dev/start.py'をユーザ 'mit'として起動するときにコマンドラインから動作します。 – mit