温馨提示×

如何定时清js日志debian

小樊
49
2026-10-10 02:31:49
栏目: 编程语言

在 Debian 上“定时清理 JS 日志”通常有两种场景:

  1. Node.js 应用自己产生的日志文件(如 app.log、pm2 logs 等)
  2. 前端 JS 在浏览器里的日志(这个无法在服务器定时清,只能前端处理)

下面按服务器日志文件定时清理说明(最常见情况)。


一、用 logrotate(推荐)

Debian 自带 logrotate,最适合日志轮转 + 清理。

示例:清理 /var/log/myapp/*.log

  1. 新建配置
sudo nano /etc/logrotate.d/myapp
  1. 写入内容
/var/log/myapp/*.log {
    daily
    missingok
    rotate 7
    compress
    delaycompress
    notifempty
    copytruncate
}

说明:

  • daily:每天
  • rotate 7:保留 7 份
  • compress:压缩旧日志
  • copytruncate:不重启 Node 也能清日志(很重要)
  1. 手动测试
sudo logrotate -d /etc/logrotate.d/myapp
sudo logrotate -f /etc/logrotate.d/myapp

二、用 cron + 脚本(简单粗暴)

1. 写清理脚本

sudo nano /usr/local/bin/clean_js_logs.sh

内容示例:

#!/bin/bash
find /var/log/myapp -name "*.log" -mtime +7 -delete

赋权:

sudo chmod +x /usr/local/bin/clean_js_logs.sh

2. 添加定时任务

sudo crontab -e

每天凌晨 3 点:

0 3 * * * /usr/local/bin/clean_js_logs.sh

三、如果是 PM2 日志

PM2 自带日志管理:

pm2 install pm2-logrotate
pm2 set pm2-logrotate:max_size 10M
pm2 set pm2-logrotate:retain 7

四、建议

  • ✅ 生产环境:logrotate
  • ✅ Node 服务:copytruncate
  • ❌ 不要直接 rm -f 正在写入的日志(可能不释放空间)

如果你能告诉我:

  • 日志路径
  • 是否 Node / PM2 / Nginx
  • 日志格式(.log / .json)

我可以给你精确配置。

0 踩