search cancel

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

book

Article ID: 134953

calendar_today

Updated On:

Products

CA Performance Management - Usage and Administration

Issue/Introduction

Question

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

 

Environment

Release: All

Component: CA Performance Center

Resolution

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ファイルの内容が実行されます。

Additional Information

Old Japanese Knowledge ID: JTEC000204