nohup
命令用于在后臺運行程序,即使關閉終端也不會中斷
使用tee
命令將輸出同時顯示在屏幕和日志文件中:
nohup your_command | tee output.log
這樣,你可以在屏幕上看到實時輸出,同時所有輸出也會被記錄到output.log
文件中。
使用logrotate
工具自動管理日志文件大小和數量:
在/etc/logrotate.d/
目錄下創建一個配置文件,例如your_command
,并添加以下內容:
/path/to/output.log {
size 10M
rotate 5
compress
missingok
notifempty
create 640 root adm
}
這將使得output.log
文件在達到10MB時自動分割,保留最近的5個分割文件,并對舊文件進行壓縮。如果日志文件不存在,不會報錯。如果日志文件為空,則不進行分割。
使用sed
、awk
等文本處理工具對輸出進行過濾和格式化。例如,如果你只想記錄包含特定關鍵字的行,可以使用以下命令:
nohup your_command | grep "keyword" >> output.log
使用cron
定時任務定期處理日志文件。例如,你可以使用cron
每晚清理一周前的日志文件:
0 0 * * 0 find /path/to/logs -name "*.log" -mtime +7 -exec rm {} \;
如果你的程序支持自定義日志格式,可以查閱相關文檔,按照需要設置合適的日志格式。
通過這些方法,你可以優化nohup
日志的輸出格式,使其更易于閱讀和分析。