ユーザ用ツール

サイト用ツール


サイドバー

このページの翻訳:



最近の更新



Tag Cloud

02_freebsd:04_database:01_mysql:mysql_logrotate

MySQL - ログローテート

MySQLのログってnewsyslogなんかに記述しても上手くローテートしてくれません。

新しいログファイルの使用を MySQL に強制するには、mysqladmin flush-logs を使用する必要があります。

Linuxのrpmなんかだと、ローテート用のプログラムが用意されてるみたいなんですが、

FreeBSDはそんなのないので、簡単なシェルを書いてCronで実行するような処理が必要になります。

MySQLのログをローテート

/etc/newsyslog.confに記述。

今回は一週間分、圧縮せずにローテートするよう記述。

 # vi /etc/newsyslog.conf
 -----------------追加--------------------
 /var/log/mysql/mysql.log                660  7    *    @T00   B
 -----------------追加--------------------

/etc/crontabにパーミッション変更とMySQLのflush-logsを実行。

 # vi /etc/crontab
 01 0 * * * root /usr/sbin/chown mysql /var/log/mysql/mysql.log ; /usr/local/bin
 /mysqladmin -u root -p[MySQLのrootパスワード] flush-logs

※root -p[MySQLのrootパスワード]の個所は-pの後にスペースは入れないようにする。

02_freebsd/04_database/01_mysql/mysql_logrotate.txt · 最終更新: 2021/03/24 07:43 by matsui