問(wèn)題描述
pm2是node管理項(xiàng)目的好幫手,node管理項(xiàng)目的好幫手是pm2。為了讓日志更加便于管理,于是引入了logrotate(linux一般都會(huì)安裝這個(gè)功能軟件),然后,又查詢了pm2的官方文檔,推薦使用pm2-logrotate來(lái)管理日志。于是,我就按照文檔,使用起了pm2-logrotate。但是,因?yàn)槭智?,我把max_size修改為了1k,于是,日志就開(kāi)始不停的分割。我后來(lái)又把參數(shù)改回了10m,但是也不起任何效果,日志還是在不斷的分割。就是下方這個(gè)樣子。

image.png
問(wèn)題解決
最后在stackoverflow.com上找到了解決方法。
https://stackoverflow.com/questions/44302076/pm2-logrotate-keeps-generating-new-logs
大家也可以不看文章,直接執(zhí)行下邊的命令
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默認(rèn)會(huì)將日志存儲(chǔ)在/root/.pm2/logs下。
有的時(shí)候,如果日志過(guò)多,但是不知道日志放在哪里,可以用find / -size +100M -exec ls -lh {} ;來(lái)查看,一般情況下很有可能就是pm2操作的日志過(guò)大,造成了資源占用。也可以使用 du -h --max-depth=1 /路徑 查詢文件夾占用顯示該目錄占用空間的總和,如:du -h --max-depth=1 /var