私はLinuxを初めて使用するのにcronジョブという機能を使用して、10分ごとに実行するPythonスクリプトを実行できることを聞きました。問題は、Pythonスクリプトが実行されないことです。作業形式を正しく指定したかどうかを知る明確な方法はないようですが、とにかく多くの方法を試しましたが、役に立ちませんでした。
真新しい人なので、私が取ったステップをお見せしましょう。私のRasPiで最初に「crontab -e」と入力し、次のフィールドを取得します。
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
追加のヘルプテキストをスキップ
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
# m h dom mon dow command
上記のテキストを削除せずに下部に行を追加しました。
*/10 * * * * ~/WeatherProject/HOURLY/windDirExtract.py
上記の方法は機能しません。他の人も同様のことをしましたが、まだ成功していませんでした。
*/10 * * * * /home/MyName/WeatherProject/HOURLY/windDirExtract.py
それから別の順列を試しましたが、何も得られませんでした。
*/10 * * * * /home/MyName/WeatherProject/HOURLY python windDirExtract.py
*/10 * * * * /home/MyName/WeatherProject/HOURLY windDirExtract.py
明確でない場合は編集しますが、最初の大きな質問は、Cronタスクを使用して短いPythonスクリプトを実行することもできますか?それとも悪いアドバイスを受けるのですか?
答え1
まず、コマンドラインからコマンドを実行できることを確認してください。
/usr/bin/python /home/MyName/WeatherProject/HOURLY/windDirExtract.py
その後、crontabで同じことを試してください。
*/10 * * * * /usr/bin/python /home/MyName/WeatherProject/HOURLY/windDirExtract.py
答え2
スクリプトは正常に動作しているようですが、cron
実行は期待どおりに動作しません。たとえば、
$ ./windDirExtract.py
START
2013-09-23 22:32:39.376584
283
このスクリプトを実行すると、上記の出力が生成されます。しかし、cron
出力のためにはどこかに行く必要があります。次のようにファイルに書き込むことから始めることをお勧めしますcron
。
*/10 * * * * /home/MyName/WeatherProject/HOURLY/windDirExtract.py >> /home/MyName/weather.log
これにより、出力がログファイルにキャプチャされ、正しく実行されていることをweather.log
確認できますcron
。上記の操作を実行すると、スクリプト出力は次のように10分ごとにログファイルに追加されます。
START
2013-09-23 22:32:39.376584
283
START
2013-09-23 22:42:39.376584
283
...