在Linux操作系統(tǒng)里,日志輪轉(zhuǎn)是處理日志文件大小與數(shù)量的一種高效手段。針對(duì)Node.JS應(yīng)用,可利用logrotate工具完成日志輪轉(zhuǎn)任務(wù)。以下是設(shè)置Node.js日志輪轉(zhuǎn)的具體流程:
1. 安裝 logrotate
多數(shù)Linux版本預(yù)裝了logrotate。若未安裝,可通過(guò)如下指令完成安裝:
sudo apt-get install logrotate # Debian/Ubuntu sudo yum install logrotate # centos/RHEL sudo dnf install logrotate # Fedora
2. 構(gòu)建 logrotate 配置文件
需為Node.js應(yīng)用單獨(dú)建立logrotate配置文件,通常存放于/etc/logrotate.d/目錄內(nèi)。
假設(shè)Node.js應(yīng)用的日志文件位于/var/log/myapp.log,那么可以創(chuàng)建名為myapp的配置文件:
sudo nano /etc/logrotate.d/myapp
在文件內(nèi)加入如下內(nèi)容:
下面是對(duì)各參數(shù)的解讀:
- daily: 每日?qǐng)?zhí)行一次日志輪轉(zhuǎn)。
- missingok: 日志文件缺失時(shí)不會(huì)觸發(fā)錯(cuò)誤。
- rotate 7: 保存七個(gè)輪轉(zhuǎn)后的日志副本。
- compress: 對(duì)輪轉(zhuǎn)后的日志進(jìn)行壓縮。
- notifempty: 空日志文件不進(jìn)行輪轉(zhuǎn)。
- create 640 root adm: 新建日志文件,權(quán)限設(shè)為640,歸屬者為root,所屬組為adm。
3. 測(cè)試 logrotate 配置
可使用以下命令檢測(cè)logrotate配置是否無(wú)誤:
sudo logrotate -f /etc/logrotate.d/myapp
-f選項(xiàng)強(qiáng)制執(zhí)行日志輪轉(zhuǎn)。
4. 設(shè)置 logrotate 自動(dòng)化
logrotate一般每日自動(dòng)運(yùn)行一次,用于檢查并輪轉(zhuǎn)日志??赏ㄟ^(guò)查閱/etc/cron.daily/logrotate文件來(lái)驗(yàn)證此功能。
5. 監(jiān)視日志輪轉(zhuǎn)過(guò)程
可通過(guò)查看/var/log/logrotate.log文件了解日志輪轉(zhuǎn)的狀態(tài):
tail -f /var/log/logrotate.log
依照上述步驟,即可順利完成Linux環(huán)境下Node.js日志輪轉(zhuǎn)的配置工作。