2017-05-12 9 views
0

私は設定されています。私のファイルには、次のようになります。Python cronジョブが失敗しています

import sys,os 
    input = sys.argv[1] 
    if os.path.isfile(input)==False: 
     print("Ensure input csv file exists") 
     quit() 
    # do stuff 
    print("Continued") 

私はLinuxのターミナルでコマンドpython3 /home/abc/data_a.py /home/abc/data_b.csvを実行すると、予想通りのプログラムが続きます。

しかし、0,10,20,30,40,50 * * * * python3 /home/abc/data_a.py /home/abc/data_b.csvを使用してcronjobとしてスケジュールすると、 "Confirm csv file exists"という出力が表示され、プログラムが終了します。どうしたの?

+0

cronがプログラムを適切に処理していないようです。 cronジョブを割り当てるときにコードを少し修正しましたか? –

答えて

1

(最初は私が手動でcrontab.txtファイルを作成し、コマンドcrontab crontab.txtを実行した場所

は、ことによってそれを解決しました。:

1)私のcrontabコマンドが正常に実行されなかったように思える

を元に戻すcrontab -r 2)crontab -eを使用し、同じ引数でcrontabファイルを編集する

-1

quit()これは、Pythonスクリプトを終了します。だからquit()呼び出しを一度。次の行は実行されません。

+0

quitは、入力ファイルが存在しない場合にのみ呼び出されます。ステートメントが正しいです。 – Michal

+0

はい、** python3 **はsys **引数**としては考慮されていません。 "command"は最初のargであり、fileは2番目のargです。そのため、スクリプト内にsys.argvを表示しているとします。 python3ではなく[コマンド、ファイル]のみが表示されます。 –

関連する問題