Opción 1: syslog + logrotate
Puede configurar los rieles, a utilizar los sistemas de herramientas de registro.
Un ejemplo en config/environments/production.rb.
# Use a different logger for distributed setups
config.logger = SyslogLogger.new
De esta manera, se conecte a syslog, y puede utilizar las herramientas logrotate por defecto para girar los troncos.
Opción 2: carriles normales registros + logrotate
Otra opción es simplemente configurar logrotate para recoger los registros dejados por 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 sugerencias a continuación, en los carriles que se aconseja utilizar copytruncate
, para evitar tener que reiniciar la aplicación Rails.
Editar: eliminó "sharedscripts/endscript" ya que no se usan aquí y causa problemas según los comentarios. Y eliminado create 640 root adm
según el comentario sugerido.
Veo que ya hay una respuesta al respecto, pero quería preguntar cuál es su entorno. Uso el método syslog + logrotate, pero obviamente el tipo de entorno (ya sea dedicado, compartido, qué tipo * ix OS aloja, u otro, etc.) tendría algo que ver aquí. – ylluminate