このページの翻訳:
- 日本語 (ja)
- English (en)
最近の更新
Tag Cloud
このページへのアクセス
今日: 18 / 昨日: 0
総計: 1075
- Dokuwiki.fl8.jp(1956)
- 13 CentOS6メール設定(48)
- FreeBSD カーネル再構築(46)
- 75 Proftpd(46)
- 01 Galera構築(41)
最近の更新
このページへのアクセス
今日: 18 / 昨日: 0
総計: 1075
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の後にスペースは入れないようにする。