在Ubuntu上設置Node.js應用程序的日志保留策略,可以通過配置日志輪轉(log rotation)來實現。以下是詳細的步驟:
logrotate
大多數Ubuntu系統默認已經安裝了logrotate
,如果沒有安裝,可以使用以下命令進行安裝:
sudo apt-get update
sudo apt-get install logrotate
logrotate
Node.js應用程序的日志文件通常位于特定的目錄下,例如 /var/log/myapp/
。你需要創建一個logrotate
配置文件來管理這些日志文件的輪轉。
在 /etc/logrotate.d/
目錄下創建一個新的配置文件,例如 myapp
:
sudo nano /etc/logrotate.d/myapp
在配置文件中添加以下內容:
/var/log/myapp/*.log {
daily
missingok
rotate 7
compress
notifempty
create 640 root adm
}
解釋:
daily
: 每天輪轉一次日志文件。missingok
: 如果日志文件不存在,不會報錯。rotate 7
: 保留最近7天的日志文件。compress
: 壓縮舊的日志文件。notifempty
: 如果日志文件為空,不進行輪轉。create 640 root adm
: 創建新的日志文件,權限為640,屬主為root,屬組為adm。你可以手動測試logrotate
配置是否正確:
sudo logrotate -f /etc/logrotate.d/myapp
-f
參數表示強制輪轉日志文件。
logrotate
通常會每天自動運行一次,檢查并輪轉日志文件。你可以通過查看/etc/cron.daily/logrotate
文件來確認這一點:
cat /etc/cron.daily/logrotate
你可以查看/var/log/syslog
或/var/log/messages
文件來監控日志輪轉的情況:
tail -f /var/log/syslog | grep logrotate
通過以上步驟,你就可以在Ubuntu上為Node.js應用程序設置日志保留策略了。