私はこの質問の提案に従いました
Djangoを使用しているので、スクリプトの各実行の日付と時刻をデータベースに保存するようにスクリプトを設定しましたが、データベースにはまだエントリが保存されていません。
「top」と入力して検索する以外に、理解する方法はありますか?
まず、次を使用して出力をメールで送信するようにcronを構成しますMAILTO
。
/ etc / crontab内:
MAILTO=username
次に、私は通常、次のように、(ほとんど)失敗する可能性のないものをスクリプトに追加します。
#!/bin/sh
echo "$0 ran on `date +%c`" >> /tmp/crontab_test.log
# ... rest of program
cronから直接Pythonスクリプトを呼び出している場合は、同様のことを行うか、ラッパーシェルスクリプトを作成できます。
sendmailをインストールしている場合は、「/ etc/aliases」に以下を追加できます。
ルート:your_name@domain.com
その後、次のコマンドを実行してエイリアスを更新します。
sudo newaliases
cronは、ジョブが実行されるたびに自動的にメールを送信します。crontabファイルでそれを指定する必要はありません。
また、メール機能をテストし(たとえば、サーバーからメールを送信できることを確認してください)、最後に、簡単なcronジョブを作成して、メールを受信するかどうかをテストします。
想定しないでください!
電子メールを送信するようにcronを設定することに加えて、以下をに追加することにより、cronの出力を別のsyslogログ機能に送信できます/etc/syslog.conf
。
#cronのものをログに記録する cron。*/var/log/cron.log
これにより、ジョブが実行されるたびにメッセージが/var/log/cron.logに記録されます。