2

そのため、サーバーに 1 時間ごとに Python スクリプトを実行させようとしています。

ディレクトリに移動して python twitter.py で実行すると、正常に動作します。

ただし、crontab に次のエントリがあり、機能しません。

0 * * * * /run/twitterparse/twitter.py > /run/twitterparse

私はそれを毎時、正時に実行しようとしています。

syslog への出力は次のとおりです。

Aug 5  13:00:01 localhost CRON[11474]: (root) CMD (/run/twitterparse/twitter.py >/run/twitterparse/)

Aug 5  13:00:01 localhost CRON[11473]: (CRON) info (No MTA installed, discarding output)

今すべきことは、データベースにアクセスし、Web からそのデータベースに情報を保存することです。スクリプトは、手動で実行するとうまくいきますが、自動的には実行されません。

4

3 に答える 3

2

これを行うことで問題を解決しました

0 * * * * python /run/twitterparse/twitter.py > /run/twitterparse

そしてpyファイルは実行可能でなければなりません

chmod +x twitter.py
于 2012-08-05T14:59:16.027 に答える
1

おそらく追加する必要があります

#!/usr/bin/python

メインスクリプトの先頭に、Pythonインタープリターの場所を指定します。

スクリプトの権限を実行可能ファイルに変更します

chmod +x <main script name .py>

お役に立てれば

于 2012-08-05T13:23:59.660 に答える
0

ターミナル (つまり、stdio または stderr) に送信される cron スクリプトの出力は、スクリプトが登録されているアカウントのユーザーに送信されます。

エラー メッセージから、このメールを送信しようとしていますが、「MTA がインストールされていません」というメッセージが表示されるため、すべての診断メッセージが破棄されていることがわかります。

最初のステップは、MTA の問題を修正してメールを受信できるようにするか、stdio と stderr がログ ファイルに書き込まれるようにすることです。

私が見ることができる明らかな問題は、出力がファイル以外に向けられていることです。

/run/twitterparse/twitter.py > /run/twitterparse

/run/twitterparse はフォルダーではありませんか? 私は推測する:

/run/twitterparse/twitter.py > /run/twitterparse/ouput.txt

問題の半分を解決します..

于 2012-08-05T13:37:22.160 に答える