揮発性のメモ2

http://d.hatena.ne.jp/iww/

MySQLのログをローテートする

[mysqld_safe]
log-error=/var/log/mysqld.log

これをローテートさせるには /etc/logrotate.d/mysqld を編集する
サンプルがコメントアウトされているので、有効化する

/var/log/mysqld.log {
        create 640 mysql mysql
        notifempty
        daily
        rotate 3
        missingok
        compress
    postrotate
        # just if mysqld is really running
        if test -x /usr/bin/mysqladmin && \
           /usr/bin/mysqladmin -uroot -pHogeHoge ping &>/dev/null
        then
           /usr/bin/mysqladmin -uroot -pHogeHoge flush-logs
        fi
    endscript
}
# /usr/bin/mysqladmin ping
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'

mysqladminで生存確認をするけどパスワードかかってて失敗するので、IDとパスワードは設定する。
本当はちゃんと設定ファイルの方に書くべきだけど、面倒くさいのでパス