/ var / log/messagesなどの特定のログファイルから「Errors|Notice|Warnings」のような複数の文字列の出現を検出するシェルスクリプトを作成したいと思います。いずれかの文字列が一致する場合は、指定されたメールIDにメール通知を送信する必要があります。
使うことができます:
grep -i -E '^Errors|Notice|Warnings' /var/log/messages
しかし、私の主な問題は、ログファイルが常に大きくなることです。このスクリプトをcronで追加したい場合、スクリプトの最後の実行ですでに確認したファイル行または内容を記録するにはどうすればよいですか?
たとえば、ログファイルが100行で、catなどを使用してファイルを読み取った場合、2回目の実行前に、ファイルは300行になります。次に、101行番号から300行まで読み取ります。
誰かが私がこれを記録する方法を提案できますか?