在 Debian 系統中,使用 nohup
命令運行程序時,輸出會被重定向到名為 nohup.out
的文件。為了歸檔這些日志,你可以使用以下方法:
tar
命令創建一個壓縮歸檔文件:tar -czvf nohup_logs.tar.gz nohup.out
這將創建一個名為 nohup_logs.tar.gz
的壓縮歸檔文件,其中包含 nohup.out
文件。
find
命令查找特定時間范圍內的日志文件,并使用 tar
命令將它們歸檔:find /path/to/logs -name "nohup.out.*" -mtime 7 -exec tar -czvf logs_archive.tar.gz {} +
這將查找過去 7 天內的所有 nohup.out.*
文件,并將它們歸檔到一個名為 logs_archive.tar.gz
的壓縮文件中。
logrotate
工具自動歸檔和壓縮日志文件:首先,創建一個名為 /etc/logrotate.d/myapp
的配置文件,并添加以下內容:
/path/to/logs/nohup.out {
daily
rotate 7
compress
missingok
notifempty
create 0640 user group
}
這將每天對 nohup.out
文件進行歸檔,保留最近 7 天的歸檔文件,并對歸檔文件進行壓縮。請根據你的需求修改路徑、用戶和組。
之后,確保 logrotate
服務已啟用并正在運行:
sudo systemctl enable logrotate
sudo systemctl start logrotate
現在,logrotate
將根據配置文件自動歸檔和壓縮 nohup.out
文件。