溫馨提示×

nohup日志如何設置保留時間

小樊
37
2025-08-04 16:27:05
欄目: 編程語言

nohup 命令用于在后臺運行程序,即使關閉終端也不會中斷程序運行。默認情況下,nohup 會將輸出重定向到名為 nohup.out 的文件中。要設置日志文件的保留時間,可以使用以下方法:

  1. 使用 logrotate 工具:

logrotate 是一個用于管理日志文件的工具,可以設置日志文件的保留時間、壓縮舊日志等。首先確保你的系統已經安裝了 logrotate。然后創建一個名為 /etc/logrotate.d/your_app 的配置文件,其中 your_app 是你的應用程序名稱。在此文件中添加以下內容:

/path/to/your/log/nohup.out {
    daily
    rotate 7
    compress
    missingok
    notifempty
    create 0640 user group
}

這里的配置表示每天輪轉一次日志文件,保留最近7天的日志,壓縮舊日志,如果日志文件不存在則不報錯,如果日志文件為空則不輪轉,創建新的日志文件并設置權限和屬主。

  1. 自定義腳本:

編寫一個自定義腳本,用于定期清理舊的日志文件。例如,創建一個名為 cleanup_logs.sh 的腳本,內容如下:

#!/bin/bash

LOG_DIR="/path/to/your/log"
MAX_DAYS=7

find "$LOG_DIR" -name "nohup.out.*" -type f -mtime +$MAX_DAYS -exec rm {} \;

這個腳本會刪除 /path/to/your/log 目錄下超過7天的 nohup.out.* 文件。然后,將此腳本添加到 cron 任務中,以便定期執行。

使用 crontab -e 命令編輯 cron 任務,添加以下行以每天執行一次腳本:

0 0 * * * /path/to/cleanup_logs.sh

這將在每天午夜執行 cleanup_logs.sh 腳本,刪除超過7天的日志文件。

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