2017-06-01 1 views
0

I Einstellungen für PM2 Logrotate gesetzt folgenden haben:PM2 Logrotate hält die Generierung neuer Protokolle

rotateInterval = * * 23 * * *

max_size = 100MB

ich alle 23 Stunden, um die Protokolle drehen möchten und/oder halten Sie maximal 100MB Log-Dateien. Aber aus irgendeinem seltsamen Grund rotiert/erzeugt die PM2 Logrotate viel zu oft neue Protokolldateien, so dass ich die Möglichkeit verliere, die Historie der Protokolle zu sehen, d. e "pm2 logs --lines 300" zeigt nur an, dass ein neues Protokoll erstellt wurde. Dies ist die Ausgabe ich im Terminal zu sehen:

PM2-logrotate> "/root/.pm2/logs/scraper-init-out-1__2017-06-01_08-00-25.log" wird erstellt

PM2-logrotate> "/root/.pm2/logs/pm2-logrotate-out-2__2017-06-01_08-00-25.log" hat

PM2-logrotate> „/root/.pm2 erstellt /logs/pm2-logrotate-out-2__2017-06-01_08-00-55.log "wurde erstellt

pm2-logrotate>" /root/.pm2/logs/pm2-logrotate-out-2__2017-06 -01_08-01-25.log "wurde erstellt

Was mache ich hier falsch?

Antwort

1

Gemäß der Dokumentation, ist hier, wie Sie planen möchten melden Sie sich drehen:

* * * * * * 
┬ ┬ ┬ ┬ ┬ ┬ 
│ │ │ │ │ | 
│ │ │ │ │ └ day of week (0 - 7) (0 or 7 is Sun) 
│ │ │ │ └───── month (1 - 12) 
│ │ │ └────────── day of month (1 - 31) 
│ │ └─────────────── hour (0 - 23) 
│ └──────────────────── minute (0 - 59) 
└───────────────────────── second (0 - 59, OPTIONAL) 

https://github.com/pm2-hive/pm2-logrotate

Wenn Sie rotateInterval '* * 23 * * *' gesetzt, melden Sie sich drehen wird das Protokoll jede Sekunde jeder Minute die drehen 23. Stunde.

Das glaube ich nicht, dass Sie andere alle 23 Stunden drehen kann als täglich um die Einstellung zu ändern, aber auf der 23. Stunde des Tages zu drehen, können Sie es wie folgt gesetzt würde: rotateInterval '0 0 23 * * *'

Beachten Sie auch, dass da die 'zweite' Einstellung ist optional, so können Sie dies mehr ausdrücken einfach als: rotateInterval '0 23 * * *'

Edit:

diese explizit alle PM2-logrotate Optionen auf ihre Standardwerte gesetzt werden:

pm2 set pm2-logrotate:retain 7 
pm2 set pm2-logrotate:compress false 
pm2 set pm2-logrotate:dateFormat YYYY-MM-DD_HH-mm-ss 
pm2 set pm2-logrotate:max_size 10M 
pm2 set pm2-logrotate:retain 7 
pm2 set pm2-logrotate:rotateInterval '0 0 * * * ' 
pm2 set pm2-logrotate:rotateModule true 
pm2 set pm2-logrotate:workerInterval 30  
3

Ich hatte das gleiche Problem wie Sie. Ändern Sie max_size von 100MB zu 100M. Die Dokumentation hat den Standard für max_size als 10MB, aber die Optionen sind 10G, 10M, 10K. Anscheinend weiß es nicht, was mit MB vs M zu tun ist.

+0

Ich habe kein Rotations-Setup und hatte Größe auf '500MB' eingestellt, und die Protokolle würden _jevery_ Minute drehen. Die Größe auf '500M' zu ändern scheint das Problem gelöst zu haben. Vielen Dank! – wtk