Linux crontabを使用してpythonスクリプトを実行しようとしていますが、多くの解決策が見つかりましたが、どれも機能しません。たとえば、/ etc/cron.dでanacronを編集するか、crontab -eを使用します。
このスクリプトを10分ごとに実行します。
これを構成するには、どのファイルを編集する必要がありますか?
前もって感謝します
編集
この行をファイルの最後に追加しましたが、何も変わりません。サービスを再起動する必要がありますか?
*/2 * * * * /usr/bin/python /home/souza/Documets/Listener/listener.py
EDIT [2]
皆さん、私はソースコードをフォローしました。ここに問題があるかもしれませんが、手動で実行すると動作します:
Crontab -eを使用して、こちらのチュートリアルに従ってください。
http://adminschoice.com/crontab-quick-reference
周波数の指定方法に関するガイドについては、ポイント3をご覧ください。
要件に基づいて、効果的に次のようにする必要があります。
*/10 * * * * /usr/bin/python script.py
あなたが言及したように何も変更しない、
まず、次のようにcrontabの実行からstdinとstderrの両方をリダイレクトする必要があります。
*/2 * * * * /usr/bin/python /home/souza/Documets/Listener/listener.py > /tmp/listener.log 2>&1
その後、ファイル/tmp/listener.log
を表示して、スクリプトが期待どおりに実行されたかどうかを確認できます。
第二に、あなたが何を意味するか推測してください何でも変更するはあなたのプログラムによって作成されたファイルを見ることです:
f = file('counter', 'r+w')
json_file = file('json_file_create_server.json','r+w')
上記のcrontabジョブは、ディレクトリ/home/souza/Documets/Listener
にこれらのファイルを作成しません。cronジョブはこのディレクトリで実行されず、プログラムで相対パスを使用するためです。したがって、これらのファイルをディレクトリ/home/souza/Documets/Listener
に作成するには、次のcronジョブがトリックを実行します。
*/2 * * * * cd /home/souza/Documets/Listener && /usr/bin/python listener.py > /tmp/listener.log 2>&1
作業ディレクトリに移動し、そこからスクリプトを実行すると、所定の場所に作成されたファイルを表示できます。