温馨提示×

怎样清理linux js日志

小樊
45
2026-10-05 12:22:14
栏目: 编程语言

在 Linux 上清理 JS(Node.js / 前端构建等)产生的日志,常见做法按「场景」来分,下面给你一套实用方案。


一、常见 JS 日志位置

  • Node.js 应用日志
    • 自己写的:logs/、/var/log/xxx/
    • PM2:~/.pm2/logs/
  • Nginx / 反向代理日志(常配合 JS 项目)
    • /var/log/nginx/
  • 容器化(Docker)
    • docker logs
  • 系统日志
    • /var/log/

二、手动清理(最常用)

1️⃣ 删除日志文件

# 进入日志目录
cd /path/to/js/logs

# 删除 .log 文件
rm -f *.log

⚠️ 如果程序正在写日志,直接删可能导致:

  • 日志不继续写
  • 磁盘空间不释放

2️⃣ 正确清空日志(推荐)

# 清空内容但保留文件
> app.log
# 或
truncate -s 0 app.log

适合正在运行的服务。


三、使用 logrotate(生产环境推荐 ✅)

示例:Node.js 日志

编辑配置:

sudo vim /etc/logrotate.d/nodejs

内容示例:

/var/www/myapp/logs/*.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
    copytruncate
}

生效测试:

sudo logrotate -d /etc/logrotate.d/nodejs
sudo logrotate -f /etc/logrotate.d/nodejs

✅ copytruncate 适合不能重启的 Node 服务


四、PM2 日志清理

pm2 logs --clear

或:

rm -rf ~/.pm2/logs/*
pm2 reload all

五、Docker 中 JS 日志

# 查看日志占用
docker system df

# 清理无用日志
docker system prune

限制日志大小(推荐):

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  }
}

六、按时间自动清理(脚本)

find /path/to/logs -name "*.log" -mtime +7 -delete

可加到 crontab:

0 3 * * * find /path/to/logs -name "*.log" -mtime +7 -delete

七、前端构建日志(webpack / vite)

一般不持久化,只需:

rm -rf node_modules/.cache
rm -rf dist

总结建议

场景 推荐方式
正在运行 > log / logrotate
生产环境 logrotate ✅
Docker 限制日志大小
临时清理 rm / find

如果你是 某个具体框架(Next.js / Nuxt / Express / PM2),可以告诉我,我给你更精准的命令。

0 踩