MySQLのlogrotate

MySQLのlogrotateを設定したところ、ログファイルが正常にローテーションされない問題が発生。

/var/log/messageには下記のログが出ていました。

logrotate: ALERT exited abnormally with [1]

調査をしていくとcronの結果メールに下記の内容が来ていました。

/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
error: error running postrotate script for /var/log/mysql/*.log
/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: NO)'
error: error running postrotate script for /var/log/mysql/*.log

/root/.my.cnfにアカウント情報を記載していたのですが正常に読み込まれていないようです。

調べてみたところ/etc/crontabでHOMEの設定が/になっていました。

これを修正して正常に動作を確認。

修正前

HOME=/

修正後

HOME=/root/

cronの結果メールはちゃんとチェックしないとダメですね。