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 センチネルの実装
この記事では、小数点付きの星評価を実装するためのVueの具体的なコードを参考までに共有します。具体的...
MySQL における Regexp の一般的な使用法特定の文字列を含むあいまい一致# コンテンツフィ...
1. Docker 起動時の異常なパフォーマンス: 1. ステータスが繰り返し再起動している場合は、...
目次序文-リンクカスタムネットワーク質問する序文前回は、 -Linkパラメータを使用してコンテナ間の...
序文:ある日、DockerでMySQLサービスを構築したところ、MySQLのコマンドラインで中国語の...
(?i) は大文字と小文字を区別しないことを意味します。大文字と小文字をすべて置き換えます。 htm...
目次1. レシピ集1.1 プロジェクトの背景1.2 テクノロジースタック1.3 開発環境1.4. プ...
<br />ホームページの右側にあるスクロールバーを削除するにはどうすればよいですか? ...
nginx 設定ファイルは主に 4 つの部分に分かれています。 main{#(グローバル設定) ht...
CSSは複数のクラスにマッチする次の HTML タグ li、クラスはオープン スタイルです。私の要件...
目次MySQL の基本的な共通コマンド1. SQL文2. テーブルを作成する3. フィールドのプロパ...
この記事では、トップに戻るボタンを実装するためのJavaScriptの具体的なコードを参考までに紹介...
目次水波効果実装を見てみましょう水の波紋のデフォルトスタイルをカスタマイズする水の波紋の位置と直径を...
目次1. ノード、ツリー、仮想DOM 2. 仮想DOM 2.1 データオブジェクトの詳細2.2 制約...
目次1. 定義と使用1.1 定義1.2 使用2. 複数のファイルに分割する3. エイリアス序文: T...