cronジョブの実行

cronジョブの実行

ここ数時間、cronjobs について頭を悩ませています。ドキュメントと例を読みました。基本と概念は理解していますが、何も機能していません。このまったくの初心者のジレンマを解決するために、助けていただけるとありがたいです。

最終的な目標は、Django 関数の実行を毎日スケジュールすることです。そこまで到達する前に、古いスクリプトを最初は 1 回、その後は定期的に実行するようにスケジュールできることを確認したいと思います。

そこで、次のことをやりたいと思います。1) 実行が成功したか失敗したかを判断できる簡単なスクリプト (おそらく bash スクリプト) を作成します。2) このスクリプトを毎時 10 分に実行するようにスケジュールします。

ターミナルにテキストを出力するだけの bash スクリプトを書いてみました。

#!/bin/bash
echo "The script ran"

これを.txtファイルにドロップしました

MAILTO = *****.******@gmail.com
05 * * * * /home/vadmin/development/test.sh

しかし何も起こらなかった。多くの物事が間違っています。これをすべて修正するにはどこから始めればよいでしょうか?

答え1

実際に cron 出力を画面上に表示できるかどうかはわかりません。

もしあなたが

echo "the script ran" >> /home/vadmin/file.txt

ジョブで、cron が実行されており、crontab が正しくインストールされていることを確認してください (他の回答で示唆されているように)。期待どおりに実行されます。

ただし、指定した cron は毎日実行されるわけではなく、毎時 5 時に実行されます。

答え2

cron デーモンは実際に実行されていますか? プロセス テーブルを確認してください。

結果を電子メールで送信する際にも問題が発生している可能性があります。この点については、crond とローカル メール サーバーのログを確認してください。

答え3

.txtファイルにドロップした行は、クローンタブ

ベストプラクティスとしては、crontab ファイルを直接編集するのではなく、crontab -ecrontab をエディターで開き、編集/保存し、構文エラーをチェックして、安全に保存できるコマンドを使用することが推奨されます。

また、システムに存在する可能性のある cron の癖として、ファイルの最後の行が空白行でない場合、cron は前の行を無視します。crontab の最後に少なくとも 1 行の空白行を追加するようにしてください。

関連情報