使用logrotate切割nginx日誌

2021-09-21 02:46:23 字數 837 閱讀 1475

配置:

1、在/etc/logrotate.d目錄下建立乙個nginx的配置檔案"nginx"配置內容如下

#vim /etc/logrotate.d/nginx

/usr/local/nginx/logs/*.log

儲存退出。

2、執行logrotate

#/usr/sbin/logrotate -f /etc/logrotate.d/nginx

在/usr/local/nginx/logs目錄中會產生

error.log

error.log.1

說明logrotate配置成功。

3、讓logrotate每天進行一次滾動,在crontab中新增一行定時指令碼。

#crontab -e

59 23 * * *  /usr/sbin/logrotate -f /etc/logrotate.d/nginx

每天23點59分進行日誌滾動

4、配置檔案說明

daily:日誌檔案每天進行滾動

rotate:保留最5次滾動的日誌

notifempty:日誌檔案為空不進行滾動

sharedscripts:執行postrotate指令碼

下面是乙個指令碼

postrotate

if [ -f /usr/local/nginx/logs/nginx.pid ]; then

kill -usr1 `cat /usr/local/nginx/logs/nginx.pid`

fiendscript

指令碼讓nginx重新生成日誌檔案。

參考博文:

Linux使用logrotate來切割日誌檔案

1.執行原理 logrotate預設情況下是通過anacron呼叫的,它每天只會被呼叫一次,也就是說乙個日誌檔案預設不會多次被處理 除非 f強制呼叫或者檔案大小超過指定值 大致呼叫流程如下 1 anacron每天去呼叫 etc cron.daily中的任務 包含logrotate 2 anacron...

tomcat日誌切割 logrotate

每天晚上,cron daemon會自動執行 etc cron.daily目錄下的任務 這個會觸發 etc cron.daily logrotate檔案,logrotate一般是隨linux按安裝的。它會執行這個命令 etc sbin logrotate etc logrotate.conf 注意空格...

logrotate 日誌切割 原理

logrotate 是怎麼做到滾動日誌時不影響程式正常的日誌輸出呢?logrotate 提供了兩種解決方案。create copytruncate 介紹一下相關的 linux 下的檔案操作機制。linux 檔案系統裡檔案和檔名的關係如下圖。目錄也是檔案,檔案裡存著檔名和對應的 inode 編號。通過...