MySQLのログ・ローテーションについて

Document created by shunsuke_katakura Employee on Mar 25, 2015
Version 1Show Document
  • View in full screen mode

文書番号:            JTEC000204

製品名:                CA Performance Center

バージョン:           2.x

OS:                     Linux

 

Question

CA Performance CenterのMySQLログ(/opt/CA/MySql/data/<サーバ名>.err)を日別にローテーションさせることはできますか?

 

Answer

/opt/CA/MySql/support-files/mysql-log-rotate ファイルをバックアップのため別名コピーしたうえで編集してください。

 

【mysql-log-rotateファイル編集箇所】
1.ローテーション対象ログファイル名を次のように変更してください。
/usr/local/mysql/data/mysqld.log =>  /opt/CA/MySql/data/<サーバ名>.err
2.mysqladminのパスを次のように変更してください。(赤字が修正箇所)

 

---------------------------修正前------------------------------------------------

    if test -x /usr/local/mysql/bin/mysqladmin && ¥

        /usr/local/mysql/bin/mysqladmin ping &>/dev/null

    then

         /usr/local/mysql/bin/mysqladmin flush-logs

    fi

-----------------------------修正後-----------------------------------------------

    if test -x /opt/CA/MySql/bin/mysqladmin && ¥

         /opt/CA/MySql/bin/mysqladmin ping &>/dev/null

    then

        /opt/CA/MySql/bin/mysqladmin flush-logs

    fi

 

編集したファイルを保存して、次のコマンドを実行することによりログがローテーションします。
# logrotate -dv /opt/CA/MySql/support-files/mysql-log-rotate

 

日替わりで自動ローテーションさせるためには、次の設定によりcronへの組み込みが必要です。

 

/opt/CA/MySql/support-files/mysql-log-rotateファイルを/etc/logrotate.dにコピーしてください。
cronは/etc/cron.daily/logrotateを毎日実行します。これにより、/etc/logrotate.confの内容についてlogrotateコマンドを発行します。
/etc/logrotate.confはincludeにより/etc/logrotate.dのファイルを読み込みます。
これにより、上で編集を行ったmysql-log-rotateファイルの内容が実行されます。

 

 

◆ キーワード

MySQL ログ logrotate ローテーション cron mysql-log-rotate

Attachments

    Outcomes