温馨提示×

Ubuntu上Node.js日志清理技巧

小樊
49
2025-08-31 04:15:05
栏目: 编程语言

Ubuntu上Node.js日志清理技巧

  1. 定位日志文件

    • 应用自定义路径:通常在应用代码中通过日志库(如log4jswinston)配置,路径可在代码或配置文件中查看。
    • PM2管理场景:默认存放在~/.pm2/logs/目录。
    • 系统服务日志:通过journalctl查看(需结合服务名)。
  2. 使用工具自动清理

    • logrotate(推荐):
      • 安装:sudo apt-get install logrotate
      • 配置:在/etc/logrotate.d/下创建文件(如nodejs-app),添加规则:
        /path/to/logs/*.log {
            daily
            rotate 7
            compress
            missingok
            notifempty
            create 0640 root adm
        }
        
        替换/path/to/logs为实际路径,保留7天日志并压缩。
      • 手动触发:sudo logrotate -f /etc/logrotate.conf
  3. 手动清理(谨慎操作)

    • 删除指定目录日志:
      sudo find /path/to/logs -type f -name "*.log" -mtime +7 -exec rm {} \;
      7为保留天数,可调整)。
    • 清空特定日志文件:
      sudo truncate -s 0 /path/to/logfile.log
  4. 定时任务自动化

    • 编写脚本(如cleanup_logs.sh),通过cron定时执行:
      #!/bin/bash
      LOG_DIR="/path/to/logs"
      find "$LOG_DIR" -type f -name "*.log" -mtime +30 -exec rm -f {} \;
      
      添加cron任务:crontab -e,添加0 2 * * * /path/to/cleanup_logs.sh(每天凌晨2点执行)。
  5. 注意事项

    • 操作前备份重要日志。
    • 避免直接删除正在写入的日志文件,可能导致应用异常。
    • 优先使用logrotate或日志库自带功能,减少人工干预。

0