利用 pm2-logrotate 进行日志分割,前提是安装了 pm2

安装 pm2-logrotate

  1. pm2 install pm2-logrotate

查看配置

  1. pm2 conf

配置如下:

  1. $ pm2 set pm2-logrotate:max_size 10M
  2. $ pm2 set pm2-logrotate:retain 30
  3. $ pm2 set pm2-logrotate:compress false
  4. $ pm2 set pm2-logrotate:dateFormat YYYY-MM-DD_HH-mm-ss
  5. $ pm2 set pm2-logrotate:workerInterval 30
  6. $ pm2 set pm2-logrotate:rotateInterval 0 0 * * *
  7. $ pm2 set pm2-logrotate:rotateModule true
  • max_size (Defaults to 10M): 配置项默认是 10MB,并不意味着切割出来的日志文件大小一定就是 10MB,而是检查时发现日志文件大小达到 max_size,则触发日志切割。
  • retain (Defaults to 30 file logs): 这个数字是在任何一个时间保留已分割的日志的数量,这意味着如果您保留7个,那么您将最多有7个已分割日志和您当前的一个
  • compress (Defaults to false): 对所有已分割的日志启用 gzip 压缩
  • dateFormat (Defaults to YYYY-MM-DD_HH-mm-ss) : 文件名格式化的规则
  • rotateModule (Defaults to true) : 像其他应用程序一样分割 pm2模块的日志
  • workerInterval (Defaults to 30 in secs) : 您可以控制工作线程检查日志大小的间隔(最小值为1)单位为秒(控制模块检查log日志大小的循环时间,默认30s检查一次)
  • rotateInterval (Defaults to 0 0 everyday at midnight): 多久备份一次,默认值是0 0 ,意思是每天晚上0点分割

    配置设置

    1. pm2 set pm2-logrotate:max_size 100M
    2. pm2 set pm2-logrotate:retain 7
    3. pm2 set pm2-logrotate:compress true
    4. pm2 set pm2-logrotate:workerInterval 60

    生效

    1. pm2 restart all