ユーザーのcronジョブが正常に実行されたことを確認するために実行できるコマンドはありますか?
プラットフォームはUbuntu 8.04 LTSです。
/ home/useraccount/bin /にスクリプトがあります
ランニング
crontab -l
ユーザーとしてログインすると、次のような結果になります。
# m h dom mon dow command
@hourly /home/useraccount/bin/script_1
@hourly /home/locateruser/bin/script_2
スクリプトが電子メールを送信したり、タイムスタンプを付けてログに書き込んだりできることは承知していますが、コマンドラインから実行されたことを確認する方法しかないと思います。
[〜#〜]編集[〜#〜]:
私は走った
ps -ef|grep cron
...そしてそれは示しています
root 4358 1 0 Mar12 ? 00:00:00 /usr/sbin/cron
これがジョブを実行していることを示しているかどうかはわかりませんが...
grep scriptname /var/log/syslog
/ var/log/cron
あなたはそれが現在実行されているかどうかを確認できます:
ps aux
スクリプトが正常に完了したことを確認するには、一時ファイルを実際に使用する必要があります。ジョブの開始時に作成し、終了時に削除します。これは、クラッシュをキャッチし、エラーが発生した場合に同じジョブが再度実行されるのを防ぎます。
#!/bin/bash
# check if there is already a temp file with suffix .myscript in /tmp,
# if file exists return with status of 666
[ -f /tmp/*.bla ] && exit 666
# create a temp file with suffix .myscript
TEMP_FILE=`mktemp --suffix .myscript`
touch $TEMP_FILE
#
# script stuff
#
# we are done, clean-up after ourselves
rm $TEMP_FILE
http://cronitor.io というツールを作成しました。これは、いくつかのcronジョブを監視するソリューションが必要で、既存のオプションに満足できなかったためです。単一のジョブを監視することは無料であり、ビジネスで使用するための有料プランがあります。
Cronitorの優れた点は、*/5 * * * M-Wのようなcron式を与えるだけであり、ジョブがスケジュールどおりに開始されない、予想よりも長く実行される、または重複する場合に警告が表示されることです。
結果をメールで送信することもできます。
30 3 * * * find /home/*/Maildir/.Spam/{new,cur}/ -type f -mtime +6 -delete| \
mail -e -s "task #1 report" [email protected]