tid=50612& 本帖最後由 IT_man 於 2016-11-3 21:24 編輯
' b3 q4 e0 s* }- l: H) r, D1 g" r4 ^) h. M4 }
CentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮. r) m; B' a; c7 v5 v& X
找了google才發現原來缺少了/etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.: a! n) I* b9 f6 a
於是乎我從別台server複製過來,搞定.' R1 U: _' Z2 x7 S
) o( f1 I, U+ v: q7 h4 U; U7 r
0 B; d# e: w( R* p4 }' g4 O% m9 u# U$ f0 \9 ]( ~
以下說明日誌管理服務logrotate運作原理:
, Q2 ?( S- G+ u( u) k# e" }! }% N& E' l4 W' _) f
/ ^' i% U! B8 i# l
因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx
2 g9 {+ ?/ B$ P: N5 T9 M4 L/var/log/nginx/*.log {
; [9 T2 K; Y" r+ \) a( ~ daily
4 N+ A2 {0 D, S4 Z8 ?+ T missingok
# Q8 y8 ^- Q8 B4 H8 n rotate 52 - m: O3 D2 u- H) ]
compress
0 n1 u/ ?( I: c, x/ Q% ]. n delaycompress
2 z$ t9 u+ h" Q+ Y/ F notifempty
: f: p/ h+ e" o create 640 nginx adm 6 t% w" {" N9 |( d4 @# C/ a7 B' n
sharedscripts + y: y) F/ b! r& F& \5 I
postrotate
1 I4 R ~: e- b8 b% O! k9 ? \ [ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid` , V7 T, H5 B+ v, Q! z/ ?
endscript
# D D& h5 @0 A- R3 L( M# w}
+ w( J: S8 q" N+ f' fLinux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌.
- O5 S8 e6 J+ C" P' s4 B2 [3 p, G% D l* `
+ s. `% r2 I3 U2 M/ N% Z4 m. K* U配置說明:
, p! h' V( m( Z, W, u# v5 }. `3 T+ ?0 \daily:日誌文件每天進行滾動
3 J! G: e/ C2 Imissingok:如果找不到這個log檔案,就忽略過去 5 a) ]' \5 u, H4 ^6 X
rotate:保留最近52次滾動的日誌
0 Z& E7 k8 t$ e/ _4 I% Y- Zcompress:透過gzip壓縮轉儲以後的日誌 0 e( J' {" g) }& l
delaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮 3 o' z/ Q) D, u4 x3 }
notifempty如果是空文件的話,不轉儲 , n; S9 D7 _ ~: f* ?& a
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
% x. Q8 u0 E5 t+ i3 x% z0 {sharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件)
; \( n! a0 S2 E) h. hpostrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行 ! S0 W: x) a1 Q
( m9 W6 v% A. V3 U- g6 f6 z
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
! @% F; f# A, _4 r/etc/cron.daily/logrotate
/ A5 m$ ?" \$ l [- o( |# T) z. E% U$ P) d8 v! o
要測試寫好的設定檔可以用以下命令:
$ b9 `9 d) ^$ \" r; p4 o; F8 g& jsudo logrotate -vf /etc/logrotate.d/your-conf-file9 P0 S7 R3 H+ O9 A0 a1 Z
# m/ X6 N3 M$ I. a" G, {. T: \0 t
$ ^5 o0 A' X5 v' T
d& m) n2 g3 j3 [: |! F註:7 u( L9 o, b2 G6 W( X' A' i
參考: https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html
2 _5 [" I8 w) S v" l0 N: r4 ^1 k4 C( c- I
|