2016-12-31 27 views
1

1分ごとに自分のスクリプトのコンパイルを実行しようとしています。 例:CrontabでPythonスクリプトを連続して実行しています

私が想定し...など、

起動スクリプト1 1時で、スクリプト2を1時02分で、スクリプト3を1:04で:各スクリプトを想定するとは終了する2秒かかります

*/1 * * * * python script1.py && python script2.py && python script3.py 
+0

あなたの想定は意図した通りに動作するはずです。それを試してみませんでしたか?私はあなたのスケジュールを簡素化することを提案し、毎分発生する '* * * * *'だけにすることを提案します。 –

答えて

2
* * * * * python /path/to/script1.py ; python /path/to/script2.py ; python /path/to/script3.py 

使用&&あなたが最初のスクリプトが成功した場合にのみ、2つ目のスクリプトを実行したい場合(終了コードが0である)

使用;あなたは関係なく、常に最初のスクリプトの終了の2つ目のスクリプトを実行したい場合コード

常にcrontabでスクリプトへのフルパスを提供

+0

正しい。 Cronはユーザーのプロファイルを読み込みません。しかし、atはプロファイルをロードします。 – Doug

1

あなたのcronエントリは問題ありません。

すべてのスクリプトを順番に呼び出すラッパースクリプトを作成することができます。

1

あなたのcronエントリは機能するはずです。ただし、スクリプトの絶対パスを指定しなかったために失敗することがあります。

+0

スクリプトのログはどこで見ることができますか?または、端末のスクリプトのpythonシェルのように – ColeWorld

+0

'log'が意味するものがスクリプトのstdoutなら、' stdout'をログファイルにリダイレクトする必要があります。デフォルトでは、タスクが実行されたときにメールを受け取る必要があります。あなたのメールをチェックするためにあなたのコンソールに 'mail'と打ち込んでください。 –

関連する問題