cronjob出力を制限するプログラム/スクリプト

cronjob出力を制限するプログラム/スクリプト

ショートバージョン:頻繁なクローン操作が失敗したときに繰り返しPingを送信するのを防ぐための事前に作成された手順はありますか?カスタム実装がありますが、誰かがすでに処理しているようです。

私のホームサーバーには、ISPサーバーからメールを取得してローカルに保存するスクリプトがあります。 Comcastは定期的に1時間ほどダウンし、cronからfetchmailの失敗を報告する何十ものメッセージ(2分に1回)を受け取ります。 cronジョブの出力(成功時に空)を読み、常にログファイルに入れるようにスクリプトを設定しましたが、stdoutにのみ入れます。したがって、少なくとも20分が経過したら、私の電子メールに入れます。最後のエラーが発生してからです。

私はこの問題を経験している唯一のシステム管理者にはなりません。つまり、ジョブが頻繁に実行され、継続的なエラーフローではなく、ジョブが失敗したときに定期的に更新したいと思います。私が逃したすぐに利用可能なソリューションがありますか?

スクリプトは次のとおりです。ご覧のとおり、非常に基本的です。たとえば、エラーがいつ停止するかは表示されません。

#!/bin/bash
logpath=/var/log/$1.log
minutes=$2
latestlogpath=${logpath}.latest

cat >> "${latestlogpath}"
([ ! -e "${logpath}" ] || [[ $(date +%s -r "${logpath}") -lt $(date +%s --date="${minutes} min ago") ]] ) && {
  cat "${latestlogpath}"
  cat "${latestlogpath}" >> "${logpath}"
  rm "${latestlogpath}"
}

ベストアンサー1

おすすめ記事