1 日の間に異なる時間に複数の cronjob が実行されていますが、特定の cronjob のいずれかが期待どおりに実行されず、しばらくすると終了します。
0 0 * * * python3 /scratch/pyscripts/backdoor.py --user SEKHAR >> /scratch/tlog/backdoor.log 2>&1;
backdoor.pyスクリプトはforループで各ファイルを1つずつ実行し、1時間または約25個のファイルの後に突然終了します。ログファイルにはエラーメッセージや終了メッセージはありません。
ただし、手動で実行するとスムーズに実行されます。
この特定のcronjobが失敗した理由をどのようにデバッグできますか?
オペレーティングシステム:Linux - Debian
ベストアンサー1
私の仕事は数時間続くことがあるので、本質的に仕事を制限するcron
ことはないと思います。cron
私の傾向は、タスクpython
自体がクラッシュすることです(しかし、タスクが何であるか、どのように書かれたのかわからず、ターミナルセッションで正しく実行されていると言ってくれてありがとう)。
おそらく、ジョブ自体の周りにラッパーを作成して、予期しないシャットダウンの根本原因を特定する問題を解決しますpython
。これらのこと、
#!/bin/sh
#
exec 1>/scratch/tlog/backdoor.log 2>&1
dtStart=$(date +'%Y-%m-%d %H:%M')
printf "%s\tStarted at %s\n" "$dtStart" "$dtStart"
python3 /scratch/pyscripts/backdoor.py --user SEKHAR
ss=$?
dtStop=$(date +'%Y-%m-%d %H:%M')
printf "Uptime and load avg:%s\n" "$(uptime)"
printf "%s\tStarted at %s and stopped at %s with status %d\n\n" "$dtStop" "$dtStart" "$dtStop" $ss
その理由は、ジョブをcron
終了すると「完了」メッセージを受け取る可能性はほとんどありませんが、ジョブの場合はpython
ラッパーによって報告された終了ステータスと最終メッセージを受け取るためです。この情報を使用すると、調査に集中することができます。