本帖最後由 IT_man 於 2016-11-3 21:24 編輯
- i6 v2 z3 o4 |! e. e, P6 o& J" ^: y6 a1 V
CentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.$ x x* _, s8 b' J9 M/ G7 y! S, z) t5 e
找了google才發現原來缺少了/etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.9 y: [0 i4 g2 B w
於是乎我從別台server複製過來,搞定.) q, n" W2 A% K
2 S+ Y3 l5 C6 q& p7 b+ s! z
% D/ e2 T# d) U% @" c- E/ f* V
# H# @0 @. Q7 J2 _3 p以下說明日誌管理服務logrotate運作原理:
5 b) s2 C }9 } K* X4 d
0 `9 Y+ ]$ S" b7 D) Z3 I# L' W, K* w f) d( N
因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx
7 t8 K: P# B8 a9 `( s! v! ?/var/log/nginx/*.log { ; ]5 J3 g" |6 l. A0 r& h0 x
daily
0 ~, I( S+ w8 B missingok
/ R" \2 v' h! t" g rotate 52 2 O# v% C! j7 [) M
compress
+ A5 Y6 V+ y) k! E# p delaycompress 7 v* q! r) m! U* ^4 p
notifempty 1 \- |1 h8 P8 }) T) `) m
create 640 nginx adm
4 |+ \* ?- o% ]( [+ M) L sharedscripts $ W9 B0 ] }8 r: w
postrotate - [+ A: Q6 Q+ D: M
[ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
- b- D3 t& q3 q; q endscript
, d) ]4 w* t7 ~7 [} # |/ q( N' k# U% o) A1 Q p* a
Linux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌.
0 \; m: A; \" ~% y+ z: r
: B4 e' }7 O* H6 q& g, _' i
& S, E7 Z, Z |配置說明: * Q3 H) R; f9 u( b) [
daily:日誌文件每天進行滾動
) V/ @+ u K( u- n, _: X8 J+ Mmissingok:如果找不到這個log檔案,就忽略過去 ; j+ ?/ J2 `) A& L+ f% g# _' q, `
rotate:保留最近52次滾動的日誌 d$ V3 M' U* j' r+ C9 x* S
compress:透過gzip壓縮轉儲以後的日誌
2 }( S3 P" E- tdelaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮
/ O: V* y1 m* Y ^4 Xnotifempty如果是空文件的話,不轉儲 6 b! U, F9 o5 f+ }" ~: K
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件 8 q4 y U: E5 z+ ^6 y' c- P/ i
sharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件) 4 w: L: R. K) l$ \* ^9 O" V
postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行
+ W5 O4 c4 R; e
! u; C+ a" I+ A( i8 E* ]4 z5 C% _logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
- h4 B, l, F3 j1 A3 z! f/etc/cron.daily/logrotate5 q* \% s" J$ L. f# b& F2 o8 z
% R& L, O! v5 i9 x要測試寫好的設定檔可以用以下命令:
7 {0 v; Z- f4 @) T8 N- ksudo logrotate -vf /etc/logrotate.d/your-conf-file
' _) H- m7 f8 U6 a
' K/ c* J- O6 _; N+ [ r6 A; M |1 Y) W g
( i1 ]$ S2 z/ }" L& q& m註:
( H% U0 r8 n1 e( P! r6 d4 H. k參考: https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html% C' {: g" G& r$ V% W; C
j# G. e0 I! a8 l% R. y+ V! l9 M
|
|