諸事情でlogrotate を使わないでスクリプトで自前でローテートしたいときがたまにあって、でも自力で hoge.log をhoge.log.1(.gz)、hoge.log.1(.gz)をhoge.log.2(.gz) にリネーム、、、なんてことやってたんだけど面倒くさくてやだなーと思っていたら素敵モジュールあった。 Logfile::Rotate 使い方はsynopsysのままで十分いけますね。ローテートの前後で何か処理をしたいときはPre,Post にコールバック書いておく。 use Logfile::Rotate; my $log = new Logfile::Rotate( File => '/var/adm/syslog/syslog.log', Count => 7, Gzip => 'lib', Post => sub{ open(IN, "/var/run/syslog.