本帖最後由 IT_man 於 2016-11-3 21:24 編輯 }) p( x* u4 m9 f c) n6 h$ q
) e% u7 f. H3 ~- F% @ K
CentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.
% _$ E6 E# N/ L1 _7 O; s找了google才發現原來缺少了/etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.
3 M& e. A" E0 J( l) c於是乎我從別台server複製過來,搞定.5 s5 h! T! B/ U* a# `6 _) e
' n2 n) t" i s- C7 e: G2 U- ?- F
* @- [3 L8 a; @: o/ l% }
* @0 |5 N9 U/ h% {4 r以下說明日誌管理服務logrotate運作原理:$ x+ J# g: w% G8 @- _( a
# m/ c# ?" d" B) x
3 q( l6 c' z0 D因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx ! Y! S3 k: }& ?& |9 T
/var/log/nginx/*.log { 2 g0 F6 D7 y3 |
daily
% e/ O' _: D( t1 [4 | i; U7 P' h missingok
$ A: {5 C4 Y5 ^# f rotate 52
x" \0 L$ C1 ?+ G compress
: T' p' p) W" {1 k3 L) Q) a delaycompress
' v' r2 S+ c3 l notifempty K% w6 G) J" Z. X0 W/ `
create 640 nginx adm / u9 w* ~3 {6 U; L& k$ D
sharedscripts 3 w1 [, ^- F% T+ G4 u
postrotate * W0 h# j( l- m- p/ I3 T+ `
[ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
$ P. b* N/ t" j5 _( G" f endscript 9 j: I4 D8 u P8 d0 z. f& w
}
4 o2 I/ d; W% `: S6 i5 |4 qLinux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌. / @* `7 y5 u7 E6 H6 f4 Z: t# A
" v: F( _% O* @5 \% `! q' g3 q+ S- x/ O9 g
配置說明:
6 L& h* U0 i6 v7 {& kdaily:日誌文件每天進行滾動 2 F3 q, R! G% C* ~1 y& A. L
missingok:如果找不到這個log檔案,就忽略過去
# J& H% S0 h6 M" Rrotate:保留最近52次滾動的日誌 ' Y% q3 R# \: A
compress:透過gzip壓縮轉儲以後的日誌 t; P+ T' _$ |: v
delaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮
4 [6 v0 c1 `. w" x5 ?- ^notifempty如果是空文件的話,不轉儲
/ Z7 t# `! u: Y( | zcreate mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件 & J$ L z" x/ _/ c8 I
sharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件) 8 r a. D6 E' D
postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行 , a' O `+ |/ \; L% _5 j, N2 ~
, O& M7 ]$ s0 g' X
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在: 9 ~4 k( Q& |0 Z
/etc/cron.daily/logrotate
k) d' J! }8 p
: g& h( E6 z% {4 C& ^# h( r, j要測試寫好的設定檔可以用以下命令:# }; |8 v1 M- f. z6 I( b
sudo logrotate -vf /etc/logrotate.d/your-conf-file
$ _# R" T Z# ~3 \; H5 M; E6 t6 W1 i& s* o8 n' G
# E9 w8 J [. N5 C# i1 j- W7 l% Y. t9 A5 @8 U. g, M$ T1 D
註:
4 {7 I+ m$ O' d1 U6 @6 N7 U- O參考: https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html& Y1 K1 E* l' Q( K, x' p$ P
8 p9 l, |: Q# P |
|