MySQL のメンテナンスを容易にするために、エラー情報を収集するためのインターフェースを提供するスクリプトが作成されました。これらのエラー メッセージは MySQL エラー ログから取得され、エラー ログのパスは grep mysql で取得できます。 関連するコードはすべて次のとおりです。 #!/usr/bin/env python2.7 #-*- エンコーディング: utf-8 -*- 「」 このモジュールは、毎日のMySQLログから異常またはエラー情報を抽出するために使用されます。著者:xiaomo メールアドレス: [email protected] 「」 インポートOS インポートシステム インポート文字列 日時インポートから* # デフォルトの文字デコーダーは utf-8 です リロード(sys) sys.setdefaultencoding('utf-8') COMMON_FLAGS = ["エラー"、"例外"、"失敗"、"クラッシュ"、"修復"] def _contain_flag(cur_str): COMMON_FLAGS のフラグの場合: string.lower(cur_str) にフラグがある場合: Trueを返す Falseを返す 「」 現在の MySQL インスタンスの error_log ファイル パスを取得します。 def _get_mysql_error_log_path(): ログパス = '' grep_infos = os.popen('ps aux | grep mysql | grep "log-error"').read() len(grep_infos) > 1の場合: grep_infos = grep_infos.split("log-error=") len(grep_infos) > 1の場合: grep_infos = grep_infos[1].split(' ') len(grep_infos) > 1の場合: ログパス = grep_infos[0] log_pathを返す 「」 MySQL エラー ログ内の例外またはエラー情報を含む行を読み取ります。 エラーログの取得と開始日付の取得: エラー情報 = [] f = open(error_log, 'r') 行 = f.readlines() 行内の行の場合: データ配列 = 行を分割します(' ') len(data_array) > 0 かつ len(data_array[0]) == 10 の場合: dt_strs = データ配列[0].split('-') cur_date = date(int(dt_strs[0]), int(dt_strs[1]), int(dt_strs[2])) cur_date >= begin_date かつ _contain_flag(line): の場合 error_infos.append(行) f.close() error_infosを返す 「」 MySQL エラー ログ情報を組み立てて返します""" get_mysql_errors を定義します(begin_date=date.today()-timedelta(1)): 試す: err_log_path = _get_mysql_error_log_path() len(err_log_path) > 1の場合: _get_error_info(err_log_path, begin_date) を返します 例外を除く、e: "[get_mysql_errors]%s"%e を印刷 戻る [] ご興味ある方はぜひ参考にして学習してください。123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Vue は左右のスライド効果のサンプルコードを実装します
>>: Docker ベースの Redis 1 マスター、2 スレーブ、3 センチネルの実装
この記事では、虫眼鏡効果を実現するためのJavaScriptの具体的なコードを参考までに紹介します。...
Apache.POI の HSSFWorkbook を使用して Excel にエクスポートします。具...
この記事の例では、参考のためにjsキャンバスランダムパーティクルエフェクトの具体的なコードを共有して...
目次1. Baidu Map Open Platformにアカウントを登録してログインする2. 必要...
目次1. 監視Linuxホストを追加する2. メールボックスを設定する1. 監視Linuxホストを追...
目次問題の説明フロントエンド制御(方法1)アイデアコードバックエンド制御(方法2)アイデアコード要約...
目次まず多次元配列の平坦化についてお話しましょう方法 1: flat()方法 2: 空の文字列を連結...
目次Zabbix カスタム監視 nginx ステータス1. ステータスインターフェースを開く2. 監...
小さな画像をクリックしたときに更新せずに大きな画像コードが表示されるようにLightboxを実現する...
背景グラデーションと自動フルスクリーンに関する CSS の問題編集長は CSS の開発中に致命的な問...
AI 画像の切り取りは PS と連携する必要があります。まず、スライスするレイヤーを選択し、それを...
この記事では、最も単純なものから最も複雑なものまで、Nginx の現在の制限構成を例を使って説明しま...
序文最近、弊社では mbp の設定をしており、ssh を使うことが多くなりました。複雑なコマンドを書...
方法:説明: どちらも達成できません:方法1: sp_product から sp.productid...
1. 要件の説明Divタグの右上隅に削除アイコンを表示します2. 実装html、CSS 3. 参照コ...