PM2 Logrotate продолжает генерировать новые журналы
У меня установлены следующие настройки для PM2 Logrotate:
rotateInterval= * * 23 * * *
max_size= 100MB
Я хочу вращать журналы каждые 23 часа и / или хранить максимум 100 МБ файлов журналов. Но по какой-то странной причине PM2 Logrotate продолжает вращать / создавать новые файлы журналов слишком часто, поэтому я теряю возможность просматривать историю журналов, т.е. е pm2 logs --lines 300
только показывает, что новый журнал был создан. Это вывод, который я вижу в терминале:
pm2-logrotate > "/root/.pm2/logs/scraper-init-out-1__2017-06-01_08-00-25.log" has been created
pm2-logrotate > "/root/.pm2/logs/pm2-logrotate-out-2__2017-06-01_08-00-25.log" has been created
pm2-logrotate > "/root/.pm2/logs/pm2-logrotate-out-2__2017-06-01_08-00-55.log" has been created
pm2-logrotate > "/root/.pm2/logs/pm2-logrotate-out-2__2017-06-01_08-01-25.log" has been created
Что я здесь не так делаю?
2 ответа
У меня была такая же проблема, как и у вас. Изменить max_size с 100MB
в 100M
, Документация имеет значение по умолчанию для max_size как 10MB
но варианты это дает 10G, 10M, 10K
, Видимо, он не знает, что делать с MB
против M
,
Согласно документации, вот как вы хотите запланировать ротацию журнала:
* * * * * *
┬ ┬ ┬ ┬ ┬ ┬
│ │ │ │ │ |
│ │ │ │ │ └ 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
Если вы установите rotateInterval '* * 23 * * *'
, log-rotate будет вращать журнал каждую секунду каждой минуты 23-го часа.
Я не думаю, что вы можете вращать каждые 23 часа, кроме как менять настройку ежедневно, но чтобы вращаться на 23-м часу каждого дня, вы должны установить это так: rotateInterval '0 0 23 * * *'
Также обратите внимание, что, поскольку параметр 'second' является необязательным, вы можете выразить это более просто: rotateInterval '0 23 * * *'
Редактировать:
Это явно установит для всех параметров pm2-logrotate их значения по умолчанию:
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