我和pm2有点麻烦。
我使用的是一个名为pm2-logrotate的模块,但是日志有一个很大的gize,比如1.7G,并且不考虑我的配置,它是
== pm2-logrotate ==
┌────────────────┬───────────────┐
│ key │ value │
├────────────────┼───────────────┤
│ compress │ true │
│ rotateInterval │ * * */1 * * * │
│ max_size │ 10M │
│ retain │ 1 │
│ rotateModule │ true │
│ workerInterval │ 30 │
└────────────────┴───────────────┘那么我能对pm2做些什么呢?可以删除旧的日志,而不是开始用大量的数据压垮我的机器吗?
发布于 2021-04-08 01:47:15
我也有这个问题。我认为目前pm2-logrotate中有一个bug,workerInterval选项被忽略,它只根据rotateInterval选项旋转(即默认情况下每天一次)。这意味着文件可能会比您使用max_size选项指定的大小大得多。请参见options here。
我通过将rotateInterval选项设置为每30分钟一次来“解决”它,而不是默认的每天一次。下面是命令:
pm2 set pm2-logrotate:rotateInterval '*/30 * * * *'这样做的问题是,无论日志大小如何,它都意味着日志将每30分钟轮换一次。另一个临时解决方案是使用pm2 flush运行crontab (删除所有日志)。首先在终端中运行crontab -e,然后将以下行添加到文件中:
*/30 * * * * pm2 flush如果你有一个生成大量日志的特定应用,你也可以用pm2 flush your_app_name刷新一个特定的应用。如果您不擅长记住cron计时语法是如何工作的(像我一样),您可以使用this site。
https://stackoverflow.com/questions/48058442
复制相似问题