溫馨提示×

Ubuntu Node日志清理技巧

小樊
33
2025-06-18 19:11:39
欄目: 智能運維

在Ubuntu系統中,清理Node.js日志可以通過以下幾種方法進行:

使用 journalctl 命令清理systemd日志

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

  • 查看當前日志占用的磁盤空間大?。?pre class="hljs">journalctl --disk-usage
  • 只保留一周的日志:
    sudo journalctl --vacuum-time 7d
    
    這個命令會刪除一周前的日志,只保留最近一周的日志。時間參數可以根據需要調整,例如 2w 表示保留兩周的日志。
  • 只保留指定大小的日志:
    sudo journalctl --vacuum-size 500M
    
    這個命令會刪除日志,直到日志占用的磁盤空間小于或等于500MB。這個大小可以根據需要調整。

使用 find 命令清理 /var/log 目錄下的日志文件

可以使用 find 命令來查找并清理 /var/log 目錄下的日志文件。例如,清理所有 .log 文件:

sudo find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;

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

使用 logrotate 命令進行日志輪轉

logrotate 是Ubuntu系統自帶的日志輪轉工具,可以定期輪轉日志文件并刪除舊的日志文件??梢允褂靡韵旅钍謩舆\行日志輪轉:

sudo logrotate -f /etc/logrotate.conf

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

使用 Ubuntu Cleaner 工具

Ubuntu Cleaner 是一個可以幫助您清理系統垃圾文件的工具,包括日志文件。首先,您需要安裝它:

sudo add-apt-repository ppa:gerardpuig/ppasudo apt updatesudo apt install ubuntu-cleaner

安裝完成后,您可以運行 Ubuntu Cleaner 來清理系統中的垃圾文件。運行 Ubuntu Cleaner 后,選擇要清理的文件類型,例如系統日志,然后預覽并確認清理操作。

使用 Node.js 腳本進行日志清理

可以編寫一個Node.js腳本來清理日志文件,并使用 cron 定時任務來執行這個腳本。以下是一個簡單的示例腳本:

const fs = require('fs');
const path = require('path');
const logDir = '/path/to/your/nodejs/logs';
const oneWeekAgo = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000);

fs.readdir(logDir, (err, files) => {
    if (err) {
        console.error('Error reading log directory:', err);
        return;
    }
    files.forEach(file => {
        const filePath = path.join(logDir, file);
        fs.stat(filePath, (err, stats) => {
            if (err) {
                console.error('Error getting file stats:', err);
                return;
            }
            if (stats.isFile() && stats.mtime < oneWeekAgo) {
                fs.unlink(filePath, err => {
                    if (err) {
                        console.error('Error deleting file:', err);
                    } else {
                        console.log(`Deleted file: ${filePath}`);
                    }
                });
            }
        });
    });
});

設置 cron 任務:

crontab -e

添加一行定時任務,例如每天凌晨1點執行清理腳本:

0 1 * * * /usr/bin/node /path/to/clean_logs.js

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