ここ数時間、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 -e
crontab をエディターで開き、編集/保存し、構文エラーをチェックして、安全に保存できるコマンドを使用することが推奨されます。
また、システムに存在する可能性のある cron の癖として、ファイルの最後の行が空白行でない場合、cron は前の行を無視します。crontab の最後に少なくとも 1 行の空白行を追加するようにしてください。