2017-06-27 15 views
-2

だから私は、Linuxの端末からこのコマンドを1時間ごとにのpython run.pyを実行したいです。 これを行う最善の方法は何ですか?毎時Linux端末からpythonスクリプトを実行するには?

+1

あなたはcronのに見たのですか? –

+1

のcron .eg https://stackoverflow.com/questions/26340358/set-up-a-cron-every-hour – doctorlove

+0

https://superuser.com/questions/139401/making-a-command-run-once-毎時 – JJJ

答えて

3

は、任意のコマンドの時間の任意のセット間隔を実行するには、UNIX上でコマンドwatchを使用します。

詳細情報:https://en.wikipedia.org/wiki/Watch_(Unix)

(あなたは、端末に指定され、これはあなたがからそれを起動し、端末に出力を見ることができるようになるので、cronを介してこの道を選んだ)

+1

ありがとうございます!これはちょうど私が必要なものです:) – user3002030

3

編集しますcrontabの使用 crontab -e
あなたはを使用してスケジュールcronsを一覧表示することができます

毎時
0 * * * * python <path-to-file> 

をあなたのスクリプトを実行するには、以下の行を追加します

+1

良い、しかし、これは*ターミナル*のスクリプトを実行することはありませんが、単にバッチジョブ –

0

私はあなたがapscheduler.schedulers.blockingからBlockingSchedulerを使用することをお勧めします。

ジャストコマンドpip install APSchedulerまたはpip3 install APSchedulerを使用してインストールします。これはいい。 5秒ごとに後

from apscheduler.schedulers.blocking import BlockingScheduler 

def your_job(): 
    print("Do you job") 

scheduler = BlockingScheduler() 
scheduler.add_job(your_job, 'interval', seconds=5) 
scheduler.start() 

Do you job 
Do you job 

が印刷されます。素晴らしいことは、minutesまたはhoursを指定することもできます。パラメータを変更するだけです。あなたのケースではseconds=5hours=1に変更してください。

from apscheduler.schedulers.blocking import BlockingScheduler 
def your_job(): 
     print("Do you job") 

scheduler = BlockingScheduler() 
scheduler.add_job(your_job, 'interval', hours=1) 
scheduler.start() 
1

簡単な方法は、あなたがcronの設定にこのコマンドを追加することができますが、 enter image description here

下の画像が表示されます。このコマンド crontab -eを使用して、cronジョブを使用します

* */1 * * * python /root/yourprogram.py > /dev/null 2>&1 

*/1は、毎時間のpythonプログラムを実行するためのものであるがcronコマンドの構造を見て:

# Minute Hour Day of Month  Month   Day of Week  Command  
# (0-59) (0-23)  (1-31) (1-12 or Jan-Dec) (0-6 or Sun-Sat)     
    0  2   12    *    *   /usr/bin/find 
関連する問題