Opción 1: syslog + logrotate
Puede configurar rieles para usar las herramientas de registro de sistemas.
Un ejemplo en config / assets / production.rb .
# Use a different logger for distributed setups
config.logger = SyslogLogger.new
De esa manera, inicia sesión en syslog y puede usar las herramientas predeterminadas de rotación de registros para rotar los registros.
Opción 2: registros de Rails normales + logrotate
Otra opción es simplemente configurar logrotate para recoger los registros que dejan los rieles. En Ubuntu y Debian eso sería, por ejemplo, en un archivo llamado /etc/logrotate.d/rails_example_com
.
/path/to/rails.example.com/tmp/log/*.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
copytruncate
}
Según las sugerencias a continuación, en Rails se recomienda usar copytruncate
, para evitar tener que reiniciar la aplicación Rails.
Editar: eliminó "sharedscripts / endscript" ya que no se usan aquí y causan problemas según el comentario. Y eliminado create 640 root adm
según el comentario sugerido.