本帖最後由 IT_man 於 2016-11-3 21:24 編輯
5 y% @' y; T) i; ^- S# v
0 E0 l! J% k8 J1 o. l3 c JCentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.
6 c- x: }7 } S7 ^. E& ?找了google才發現原來缺少了/etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.
9 t0 E" w! i+ z7 Z. r於是乎我從別台server複製過來,搞定.6 e: Q: b) q; Q6 U
6 t! E( H: Z: O+ Q% J3 L/ _7 y9 Q# j7 E$ @" Y! [8 v( R
! E p; w5 e. N d5 l* g. o
以下說明日誌管理服務logrotate運作原理:
9 U6 G7 u( |6 J5 Y5 v: v
9 t1 q. M l, D Z8 |1 _3 `7 k) O8 D! A% o; b
因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx / E% C, h8 L4 R( r: L
/var/log/nginx/*.log { # _9 y: l2 {( n/ H3 V& t5 g( B4 O( O
daily $ d" U5 y2 L7 \' Z s8 R, I# c
missingok
4 [, _1 L) \% ?. P e$ |) O. k& { rotate 52 @$ U+ |5 I7 }" F$ I+ {8 m
compress
/ q2 v _9 U3 T! N( N6 @4 W delaycompress
% I u5 f' L6 q0 e, [3 H( I" K notifempty 5 u& C* n9 v7 m" C
create 640 nginx adm
5 m L( s8 o! C4 k! F sharedscripts 8 E. k$ J8 w6 b% `/ V8 l
postrotate
) |6 S, h. _' Z, v [ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
9 c5 X6 n( v, J+ p% j endscript
; R, W$ `5 _' J1 m$ S5 c4 I4 M}
8 T k: T& [' I& m7 yLinux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌.
) P8 e! {; w3 P% s1 i! {& l* z
* f- j; M2 D( l0 {" c* h. K Y8 c/ Y) L
配置說明:
; y8 y* G+ n, G" G: r7 Pdaily:日誌文件每天進行滾動 # h3 S. m9 O, ? I* [! H
missingok:如果找不到這個log檔案,就忽略過去 1 W3 R- D8 ^' |& A
rotate:保留最近52次滾動的日誌 ) i" z8 S% j. R% S9 L0 T
compress:透過gzip壓縮轉儲以後的日誌 + Z# e' |$ I. y# y# j. l
delaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮 " g- u" @9 U8 i: i: i" m
notifempty如果是空文件的話,不轉儲 ; e' b5 s7 t- k
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
: ~2 F+ Y9 ~# O/ r1 \( Psharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件) . `; S1 {) f/ d8 E% q+ ?, q
postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行
, q' I0 w" m3 O- f; ?$ Z, y0 P$ ~- X4 @, ~8 L6 J5 N; o
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在: 9 K% Y; C+ h: i+ F' r
/etc/cron.daily/logrotate/ [" [3 T- f4 v
2 v1 v! Z9 U. _1 J8 Y要測試寫好的設定檔可以用以下命令:7 t/ J+ ^8 W. p. O. Q! N, I
sudo logrotate -vf /etc/logrotate.d/your-conf-file
; `! [7 O! C/ [# H) \
/ C. ] v; D9 x0 s$ ?
/ k+ ^+ P0 _6 o* [8 R: X6 u' c
& e6 H: @6 I! u! O註:
0 t4 _" i" [! u3 ?7 m1 [參考: https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html
( `. H( ~6 J$ D. W1 S1 p4 v2 {# u' |& c' u2 o) I! v
|
|