Railsのログローテートは、Linuxのlogrotateで行う派なのですが、
久しぶりに設定してdebugモードで確認してみるとエラーが出て小一時間ほど嵌ってしまいました。
結果から言うと、logrotate のBugだそうです。
Bug #1320201 “behaviour in debug mode doesn't match real behavio...” : Bugs : logrotate package : Ubuntu
3.9.1 では直っているそうです。
設定内容
$cat /etc/logrotate.d/rails /var/www/rails_app/log/production.log { daily rotate 31 missingok notifempty compress delaycompress noolddir sharedscripts postrotate /usr/bin/passenger-config restart-app /var/www/rails_app endscript }
出たエラー
$ logrotate -dv /etc/logrotate.d/rails error: error opening /var/www/rails_app/log/production.log.31.gz: No such file or directory
missingok 設定しているのにエラーになる。