在Debian系統中,可通過以下方法解決nohup日志文件過大的問題:
使用logrotate工具自動輪轉
sudo apt-get install logrotate/etc/logrotate.d/nohup,添加以下內容:/path/to/nohup.out {
daily # 每天輪轉
rotate 7 # 保留7天日志
compress # 壓縮舊日志
missingok # 忽略不存在的日志
notifempty # 非空才輪轉
create 0640 root adm # 新日志權限
}
sudo logrotate -f /etc/logrotate.d/nohup。手動切分日志(無需工具)
log_split.sh,內容如下:#!/bin/bash
LOG_FILE="/path/to/nohup.out"
if [ -f "$LOG_FILE" ]; then
mv "$LOG_FILE" "/path/to/nohup_$(date +%Y%m%d).log"
touch "$LOG_FILE" # 重新創建空日志
find /path/to -name 'nohup_*.log' -mtime +7 -exec rm {} \; # 刪除7天前日志
fi
crontab -e,添加0 3 * * * /path/to/log_split.sh。直接清空日志(臨時方案)
truncate -s 0 nohup.out 或 echo "" > nohup.out。注意:優先使用logrotate,避免手動操作導致日志丟失;調整輪轉策略時需確保程序能正確處理日志文件切換。