Primeiro, o mais provável é que você não esteja executando o logrotate automaticamente (geralmente através do daemon do cron).
Segundo, você especifica no seu arquivo de configuração logrotate que você quer girar o arquivo / home / rails / myapp / log, mas na saída ls você nos mostra o arquivo /home/rails/myapp/log/production.log ( Estou assumindo ~ rails - > / home / rails). E você também pede que o novo arquivo de log vazio seja criado pelo logrotate para ter o dono root: root, mas novamente na saída ls o arquivo original é propriedade de rails: rails.
TL; DR; use este arquivo de configuração (e certifique-se de que o logrotate seja executado pelo cron ou similar de tempos em tempos):
/home/rails/myapp/log/production.log {
daily
rotate 4
compress
delaycompress
missingok
notifempty
create 644 rails rails
}
Observe também que você pode precisar usar o postrotate para reiniciar o aplicativo para forçá-lo a parar de gravar no descritor de arquivo que aponta para o arquivo girado.