このページの翻訳:
- 日本語 (ja)
- English (en)
最近の更新
Tag Cloud
このページへのアクセス
今日: 11 / 昨日: 0
総計: 1068
- Dokuwiki.fl8.jp(511)
- 13 CentOS6メール設定(29)
- FreeBSD カーネル再構築(24)
- 05 rsync(23)
最近の更新
このページへのアクセス
今日: 11 / 昨日: 0
総計: 1068
MySQLのログってnewsyslogなんかに記述しても上手くローテートしてくれません。
新しいログファイルの使用を MySQL に強制するには、mysqladmin flush-logs を使用する必要があります。
Linuxのrpmなんかだと、ローテート用のプログラムが用意されてるみたいなんですが、
FreeBSDはそんなのないので、簡単なシェルを書いてCronで実行するような処理が必要になります。
/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の後にスペースは入れないようにする。