ubuntu

Ubuntu下Node.js日志清理技巧

小樊
39
2025-08-19 01:58:50
栏目: 编程语言

以下是Ubuntu下清理Node.js日志的常用技巧:

  1. 使用logrotate工具(推荐)

    • 安装:sudo apt-get install logrotate
    • 配置:在/etc/logrotate.d/下创建nodejs文件,添加以下内容:
      /path/to/logs/*.log {
        daily
        rotate 7
        compress
        missingok
        notifempty
        create 0640 root adm
      }
      
      daily表示每日轮转,rotate 7保留7天日志,compress压缩旧日志)
  2. 通过cron定时任务手动清理

    • 编辑cron:crontab -e
    • 添加任务(每天凌晨1点清理7天前的日志):
      0 1 * * * find /path/to/logs -type f -name "*.log" -mtime +7 -exec rm -f {} \;
  3. 利用Node.js日志库内置功能

    • 使用winston-daily-rotate-file插件:
      const winston = require('winston');
      const DailyRotateFile = require('winston-daily-rotate-file');
      const logger = winston.createLogger({
        transports: [
          new DailyRotateFile({
            filename: '/path/to/logs/app-%DATE%.log',
            datePattern: 'YYYY-MM-DD',
            zippedArchive: true,
            maxSize: '20m',
            maxFiles: '14d'
          })
        ]
      });
      
  4. 直接使用系统命令(谨慎操作)

    • 清空所有.log文件:sudo find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;
    • 删除指定目录下所有日志:sudo rm -rf /path/to/logs/*.log(建议先备份)

注意:清理前确保无重要数据在日志中,优先使用logrotate或日志库功能,避免误删。

0
看了该问题的人还看了