配置:
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 編號。通過...