Tengo dos servidores web, uso nginx, tengo logrotate instalado en ambos y las configuraciones para logrotate.conf y logrotate.d/nginx son las mismas.
Ambos almacenan registros en /home/websitename/.pm2/logs
En el primer servidor web, los registros están estructurados:
-rw-r--r--. 1 website website 11M Feb 27 13:21 example.com-out-2__2018-02-27_13-21-12.log
-rw-r--r--. 1 website website 11M Feb 27 13:46 example.com-out-2__2018-02-27_13-46-12.log
-rw-r--r--. 1 website website 11M Feb 27 14:00 example.com-out-2__2018-02-27_14-00-12.log
-rw-r--r--. 1 website website 11M Feb 27 14:19 example.com-out-2__2018-02-27_14-19-42.log
-rw-r--r--. 1 website website 11M Feb 27 14:42 example.com-out-2__2018-02-27_14-42-42.log
-rw-r--r--. 1 website website 11M Feb 27 15:09 example.com-out-2__2018-02-27_15-09-12.log
-rw-r--r--. 1 website website 11M Feb 27 15:36 example.com-out-2__2018-02-27_15-36-12.log
-rw-r--r--. 1 website website 11M Feb 27 16:00 example.com-out-2__2018-02-27_16-00-42.log
-rw-r--r--. 1 website website 11M Feb 27 16:24 example.com-out-2__2018-02-27_16-24-42.log
-rw-r--r--. 1 website website 11M Feb 27 16:48 example.com-out-2__2018-02-27_16-48-12.log
Como puede ver, todos tienen un tamaño de archivo determinado, varios archivos de registro por día, etc.
En el segundo servidor web, el registro se realiza en un único archivo grande. Ubicado en la misma ubicación /home/websitename/.pm2/logs.
-rw-rw-r--. 1 website website 19G Mar 9 14:04 example.com-error-0.log
-rw-rw-r--. 1 website website 7.2G Mar 7 06:09 example.com-error-1.log
-rw-rw-r--. 1 website website 5.2G Mar 9 14:04 example.com-out-0.log
-rw-rw-r--. 1 website website 1.2G Feb 23 23:15 example.com-out-1.log
IpensarEl motivo de los registros de error-0 y error-1 fue cuando el servidor se reinició e inició un nuevo registro.
La pregunta es, ¿cómo cambio el registro para que cree archivos más pequeños y no este monstruoso archivo de tipo 19 GB?
¡Siento que he revisado cada configuración y no puedo entenderlo! "Creo" que logrotate está funcionando, ya que obtengo el estado del día actual cuando reviso logrotate.status.
/etc/logrotate.conf:
Este es el archivo /etc/logrotate.conf:
# see "man logrotate" for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# use date as a suffix of the rotated file
dateext
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
minsize 1M
rotate 1
}
/var/log/btmp {
missingok
monthly
create 0600 root utmp
rotate 1
}
Archivo /etc/logrotate.d/nginx:
/var/log/nginx/*.log {
daily
missingok
rotate 4
compress
delaycompress
notifempty
create 640 nginx adm
sharedscripts
postrotate
if [ -f /var/run/nginx.pid ]; then
kill -USR1 `cat /var/run/nginx.pid`
fi
endscript
}