问题描述
pm2是node管理项目的好帮手,node管理项目的好帮手是pm2。为了让日志更加便于管理,于是引入了logrotate(linux一般都会安装这个功能软件),然后,又查询了pm2的官方文档,推荐使用pm2-logrotate来管理日志。于是,我就按照文档,使用起了pm2-logrotate。但是,因为手欠,我把max_size修改为了1k,于是,日志就开始不停的分割。我后来又把参数改回了10m,但是也不起任何效果,日志还是在不断的分割。就是下方这个样子。
问题解决
最后在stackoverflow.com上找到了解决方法。
https://stackoverflow.com/questions/44302076/pm2-logrotate-keeps-generating-new-logs
大家也可以不看文章,直接执行下边的命令
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
注意:
pm2默认会将日志存储在/root/.pm2/logs下。
有的时候,如果日志过多,但是不知道日志放在哪里,可以用find / -size +100M -exec ls -lh {} ;来查看,一般情况下很有可能就是pm2操作的日志过大,造成了资源占用。也可以使用 du -h --max-depth=1 /路径 查询文件夹占用显示该目录占用空间的总和,如:du -h --max-depth=1 /var