私は10分ごとにログをチェックし、重大なエラーがある場合は特定のアドレスに電子メールを送信するスクリプトを書いています。できるだけ少しエレガントに解決したい問題があります。ログを見たいのですが、ログ/var/log/mysql/error.log
が複数あります。
例:
- エラー履歴
- error.log.1.gz
- error.log.2.gz
- error.log.3.gz
私の観点からは、この問題を解決する2つの方法があります。 解決策1:
try:
open("/var/log/mysql/error.log", "rb")
except IOError:
try:
open("/var/log/mysql/error.log", "rb")
except IOError:
....
これには時間がかかり、try/except
これを行うより良い方法があるかもしれません。私はいくつかを見つけようとしましたが、いくつかではなくtry/except
幸運もありませんでした。あなたは私に正しい方向を伝えることができますか?完全な答えを提供しないでください。
解決策2:
ログを1つのログに統合します。これにより、複数のファイルではなく1つのファイルのみを開くことができますtry/except
。このソリューションはさらにエレガントに見えます。 mysqlページを読みましerror.log
たが、私の質問に対する答えが見つかりませんでした。
若干の背景知識が必要なようです。今日がPythonを学んだ3日目で、私はすでにMySQLの基本をマスターしています。
答え1
ヘヘヘヘヘ。 MySqlのすべてのログファイルはlogrotateの操作です。毎週交互にコピーが行われます。最新のログが記録されるとは、古いログをerror.log
意味しますerror.log.1.gz
。
はい、私は馬鹿になったと思います。私と同じ悩みをされる方がいらっしゃるかと思ってここに残します。