温馨提示×

Debian如何清理JS日志

小樊
51
2026-08-11 22:01:50
栏目: 编程语言

在 Debian 系统中清理 JavaScript(JS)日志,需要先明确日志的来源和位置,因为 JS 本身不生成日志,通常是运行环境或应用在记录。下面按常见场景给你一套完整、实用的清理方法。


一、常见 JS 日志来源

场景 日志位置
Node.js 应用 /var/log/logs/pm2 logs
Nginx 转发 JS 请求 /var/log/nginx/
PM2 管理 Node ~/.pm2/logs/
Docker 中的 JS 应用 docker logs
Systemd 服务 journalctl

二、Node.js 应用日志清理

1️⃣ 查找 JS 日志文件

find / -name "*.log" 2>/dev/null | grep -E "node|js"

常见目录:

/var/log/node/
/var/log/myapp/
~/myapp/logs/

2️⃣ 手动清理日志

# 清空日志(推荐)
truncate -s 0 /path/to/app.log

# 或删除
rm -f /path/to/app.log

⚠️ 不建议直接 rm,如果程序仍占用文件,空间不会释放。


3️⃣ PM2 日志清理(非常常见)

# 查看日志路径
pm2 logs

# 清空所有 PM2 日志
pm2 flush

# 删除旧日志
pm2 flush && pm2 restart all

三、Nginx 中的 JS 相关日志

如果 JS 请求通过 Nginx:

# 访问日志
/var/log/nginx/access.log

# 错误日志
/var/log/nginx/error.log

清理方式

truncate -s 0 /var/log/nginx/access.log
truncate -s 0 /var/log/nginx/error.log

或配置日志轮转(推荐):

apt install logrotate

四、Systemd 中的 JS 服务日志

如果 Node.js 作为 systemd 服务运行:

journalctl -u your-js-service.service

清理 journal 日志

# 查看占用
journalctl --disk-usage

# 清理 7 天前
journalctl --vacuum-time=7d

# 限制大小
journalctl --vacuum-size=100M

五、Docker 中的 JS 日志

# 查看日志
docker logs <container_id>

# 清理(删除容器日志)
truncate -s 0 /var/lib/docker/containers/*/*-json.log

⚠️ 生产环境建议配置 Docker 日志驱动:

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

六、避免日志无限增长的推荐做法 ✅

1️⃣ 使用 logrotate(强烈推荐)

/etc/logrotate.d/node-app

示例:

/var/log/myapp/*.log {
    daily
    rotate 7
    compress
    missingok
    notifempty
    create 0640 www-data www-data
}

2️⃣ Node.js 中避免 console.log

✅ 使用日志库:

  • winston
  • pino

并配置:

  • 文件轮转
  • 日志级别

七、快速判断你该清理哪里

ls -lh /var/log/
du -sh /var/log/*

或:

lsof | grep deleted

八、如果你愿意,我可以更精确帮你

你可以直接告诉我:

  1. JS 是 Node / 前端 / Electron / Docker?
  2. 日志路径或报错信息
  3. 是否是生产环境

我可以给你一条命令直接解决

0