logrotateの圧縮コマンドをpbzip2に変更してみることにした
HDDは安くなってログのサイズが肥大してもそれほど問題はなくなっているけど、やっぱりログでディスクを消費するのは精神衛生上よろしくない。だったらlogrotateでgzipから圧縮率の高いbzip2に変更したらいいんじゃね?と今更ながら気がついたので変更してみた。自宅サーバは ubuntu10.10 beta版です。
pbzip2をインストール。
今時CPUは4coreとか当たり前なのでマルチスレッド対応版bzip2をインストール。
$ sudo apt-get install pbzip2
logrotate.confを修正
$sudo cat /etc/logrotate.conf # see "man logrotate" for details # rotate log files weekly weekly rotate 52 create # uncomment this if you want your log files compressed compress compresscmd /usr/bin/pbzip2 compressoptions --best compressext .bz2 include /etc/logrotate.d /var/log/wtmp { missingok monthly create 0664 root utmp rotate 1 } /var/log/btmp { missingok monthly create 0660 root utmp rotate 1 }
logrotateの動きをチェック
sudo logrotate -d /etc/logrotate.conf
あとは寝て待つだけ。
補足
寝て待つのも趣が足りないので、bzip2とpbzi2の簡易ベンチマークをやってみた。UbuntuのCPUは Atom330 1.6GHz 2core x 2threadです。
- 圧縮しにくい10MBのファイルを作成
$ dd if=/dev/urandom bs=1M count=10 of=./test.img $ \ > for file in bzip2-best.img bzip2-fast.img pbzip2-best.img pbzip2-fast.img > do > cp -p test.img $file && echo $file > done
- ベンチマーク結果。
pbzip2かなりいい感じです。
$ time bzip2 --fast bzip2-fast.img real 0m13.989s user 0m13.909s sys 0m0.076s $ time pbzip2 --fast pbzip2-fast.img real 0m5.431s user 0m19.573s sys 0m0.336s $ time bzip2 --best bzip2-best.img real 0m15.588s user 0m15.521s sys 0m0.060s $ time pbzip2 --best pbzip2-best.img real 0m7.303s user 0m27.558s sys 0m0.396s