EDITORIAL:
実際には、定期的にデータベース・エラー・ログをチェックすることが不可欠の作業項目です。しかし、時間は必ずしも新しいエラー・メッセージが生成されるか、又はそれが私たちのデータベースが堅牢であることを意味するので、我々は、より多くの情報が間違って行く持っている決して期待しないことを確認していません。この場合、エラーメッセージが生成されたとき、あなたは予測することはできない、と私たちは、エラー・ログをチェックして、多くの場合、通常であれば、思考の慣性を形成することは容易である、時間の経過が情報を与えられていない、我々は簡単にこの作業項目を無視することができます。しかし、私たちのために、エラーログが不可欠であり、この時点で、我々は、ダイレクトメール警告に、私はより意味のあることを行うための時間を解放することができ、私に気付いたときに、エラーメッセージを生成し、願っています。あなたはこの要求を持っている場合は、この記事はあなたを助けるかもしれません。
スクリプトファイル:
monitor_errorlog.sh CATの
#!/ binに/のbash
#スクリプトエラーログ監視警報
#モニタ日付
時刻= +%F` `DATEの
#時間= 2018年6月2日
、CD /ホーム/ dbalzbの
最初のすべての日付エラーログファイル監視によって生成された#、検出エラーログが一日の上に生成される
errorlog- $ time.txt&>を/ dev / null LS
#戻り値が非ゼロの状態であり、それは一日のを介して生成されていないことを意味
のiF [$ 0 -ne?];その後、
CAT /ホーム/データ/ MySQLの/ error.logファイル| grepを"$時間" | egrepの-i 'エラー|警告'> errorlog- $ time.txt
#エラーその日のログがあるかどうかを判断する
NUM = `CAT errorlog- $ time.txtは| WC -l`
のiF [$ NUM -ne 0];その後、
雑種犬[email protected] -s "errorlog3306" <$ time.txt errorlog-
Fiの
md5sumがerrorlog- time.txt $> $ time.txt MD5-errorlog-
他
猫/home/data/mysql/error.log | grepを「$時間」 | egrepの-i「エラー|警告」> errorlog- $時間-new.txt
スクリプトファイル#1目以降の実行新しいエラーログを生成します。ファイル、および新しい値md5sumを生成する
のmd5sum errorlog- $時間-MD5-errorlog- new.txt >> $ time.txt
セッド'1P' -n | | STR1 = MD5-CAT errorlog- $ `time.txtをawkの{ } $ 1印刷。 '`
| 2P STR2 = MD5-CAT errorlog- $` time.txt sedの-n' '| awkの' {} 1を印刷$ ' `。
#NUM1 = $`時間-CAT errorlog- new.txt | -l WC `
#cat errorlog- time.txt >> errorlog- $ $時間HISTORY.TXTの
二つのファイルの#のmd5sumを比較値は、新しいエラーログが生成されたかどうかを判断する
場合は、[$のSTR2のSTR1 = $!];その後
のmutt lizibin_1 @ -s 126.com "新新-errorlog3306" <errorlog- $時間-new.txt
#cat errorlog- $時間-new.txt >> errorlog- $時刻歴。.TXT -
Fiの
/ binに/ RM -f errorlog- $時間-new.txt
のsed -i '2D' MD5-errorlog- $ time.txt
Fiの
スケジュールされたタスクを追加します(1時間に1回行われ、調整することができます)
5 * / 1 * * * SHの/home/dbalzb/monitor_errorlog.sh
すべての道はローマに通ず、あなたはどのように動的監視データベースエラーがそれを記録しているのですか?以下のコメントを残します。