tid=50612& 本帖最後由 IT_man 於 2016-11-3 21:24 編輯
8 v! q7 ]5 I; ?9 E( |: k2 U0 ?. j0 U5 G0 a& p+ [1 x
CentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.
/ j3 j) l8 Z: l找了google才發現原來缺少了/etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.& B ^, Y* n2 N" q
於是乎我從別台server複製過來,搞定.5 S" Z6 F* y8 O/ J8 a7 O
0 p. Q7 m* O1 d
! \; u% k8 o& p' O# T |4 V: L0 E4 L; e, ]( B& ]
以下說明日誌管理服務logrotate運作原理:$ t* D3 S% B0 b# G4 K7 X
9 k# }6 k/ @1 v L) ~; M3 r. Q7 x( t% {, j/ d* E
因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx
q- F7 o9 M! x1 ~/ [( q$ [2 Q; U/var/log/nginx/*.log { 7 l. W7 ]6 J; i, S. C
daily : U8 z& t% R0 J$ m
missingok % Q. N; A$ A" M
rotate 52
) @5 r. V6 D% C ^7 I, |6 e compress + Z1 Q' K6 L' T/ h- i2 L) P
delaycompress
C+ _: `7 _2 b( `; e4 h notifempty Y9 y* v( m7 P( Z
create 640 nginx adm " ?% ^, e( e0 U+ Y8 a; D. |
sharedscripts 9 p4 }. ~7 r& S! Z" D7 g0 N8 H9 ^3 A i6 e
postrotate / h O2 F6 X" Z6 U+ Z+ j7 ~& k
[ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
% ~% P0 J0 T, X1 [ Y+ l$ W. B1 Z endscript # a6 a D; i) r6 l$ i7 J+ `+ `" k
} % F9 B% z) q. {. [! v; t! t
Linux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌. + G- Q U2 G9 y4 l2 v
% u' d0 r |" m6 r: w% E$ Z. F
$ T2 F& X+ D2 C5 ^# L配置說明: 8 e3 L7 `) y5 C5 T
daily:日誌文件每天進行滾動 * t, R/ E8 t' |5 I" \# p
missingok:如果找不到這個log檔案,就忽略過去
1 v4 a+ }! d3 z; j4 M: A3 Frotate:保留最近52次滾動的日誌
8 P" w/ n U5 |7 ?: i, Qcompress:透過gzip壓縮轉儲以後的日誌 ! r' J' g& B) n1 z' d, c$ y
delaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮
8 w. {1 |/ w/ J( N& S7 rnotifempty如果是空文件的話,不轉儲 2 o+ u" d( n6 a2 ?" O
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
% r$ F* t2 V, ]. T& S# qsharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件) ) g7 {! b0 b/ }3 E) _/ l) s3 B# D
postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行 - ` C k5 ?8 x4 |
/ Q& L/ V7 ?/ k" {
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
1 j* H' q% |) }* {/ P/etc/cron.daily/logrotate- F7 t1 P/ _4 t3 n
, D, V5 I1 [- a要測試寫好的設定檔可以用以下命令:
/ l0 _1 g9 T# asudo logrotate -vf /etc/logrotate.d/your-conf-file3 u8 ]. g3 S+ \& e: F
+ B& E0 A8 v0 `3 y; y3 I
3 @- f5 i g# G# I* o! O, q
! S4 @/ u1 o7 G( C註:
( |, z5 \, S" `# Y' `$ u參考: https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html* Z% o) J5 F2 ^" I
& U: z4 [. b5 d/ [( k
|