溫馨提示×

如何清理Ubuntu JS舊日志

小樊
47
2025-04-19 03:15:03
欄目: 編程語言

在Ubuntu系統中,清理Node.js應用程序的舊日志文件可以通過以下幾種方法進行:

使用命令行清理日志

  1. 定位日志文件:系統日志文件通常存儲在 /var/log 目錄下。您可以使用以下命令來查找并清理這些日志文件:
sudo find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;

這個命令會找到所有以 .log 結尾的文件,并使用 truncate -s 0 命令將它們清空。

  1. 使用日志輪轉工具:Ubuntu系統自帶了日志輪轉工具 logrotate,它可以定期輪轉日志文件并刪除舊的日志文件。您可以手動運行日志輪轉工具來清理舊的日志文件:
sudo logrotate -f /etc/logrotate.conf

使用 -f 選項可以強制運行日志輪轉,忽略配置文件中的錯誤。

  1. 使用Ubuntu Cleaner工具
  • 安裝Ubuntu Cleaner:
sudo add-apt-repository ppa:gerardpuig/ppasudo apt updatesudo apt install ubuntu-cleaner
  • 安裝完成后,您可以運行Ubuntu Cleaner來清理系統中的垃圾文件,包括日志文件。

使用 journalctl 命令清理systemd日志

journalctl 是Ubuntu中用于管理和查看系統日志的工具。以下是幾種常用的 journalctl 命令:

  • 查看當前日志占用的磁盤空間大?。?/li>
journalctl --disk-usage
  • 只保留一周的日志:
sudo journalctl --vacuum-time1w
  • 只保留指定大小的日志:
sudo journalctl --vacuum-size500M

在Node.js應用程序中實現日志輪換

可以使用第三方庫(如 winston-daily-rotate-file)在Node.js應用程序中實現日志輪換。首先,需要安裝這個庫:

npm install winston-daily-rotate-file

然后,在應用程序中使用這個庫來記錄日志:

const winston = require('winston');
const DailyRotateFile = require('winston-daily-rotate-file');

const logger = winston.createLogger({
  level: 'info',
  format: winston.format.json(),
  transports: [
    new DailyRotateFile({
      filename: '/path/to/your/nodejs/app/logs/app-%DATE%.log',
      datePattern: 'YYYY-MM-DD-HH',
      zippedArchive: true,
      maxSize: '20m',
      maxFiles: '14d',
    }),
  ],
});

logger.info('Hello, world!');

這個示例配置表示每天輪換日志文件,保留最近14天的日志文件,壓縮舊日志文件,并在日志文件達到20MB時進行輪換。

通過以上方法,您可以在Ubuntu系統下有效地清理Node.js應用程序的日志文件,釋放磁盤空間,保持系統的整潔和高效運行。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女