本帖最後由 IT_man 於 2016-11-3 21:24 編輯
- ?. W% N+ W/ Z" T2 l( R V3 z( t: U: u- `$ m) l$ [
CentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.
& X4 ?2 N+ X$ r/ l找了google才發現原來缺少了/etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯./ U6 c& Z; f& M# z2 A
於是乎我從別台server複製過來,搞定.4 n! @/ B) S' Z2 y& _. G, F
* s X P: f* t+ p/ F0 F, m! [3 Y3 ]5 a: P& S/ H! [0 w
7 L X! t/ b0 J6 _. G
以下說明日誌管理服務logrotate運作原理:5 Z% R7 I9 _- d& S# k3 T
5 O0 d a7 U: R( B) V4 C( [# g j
) A# Q+ q/ _- i) x1 R3 u因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx - q! ]$ ?+ C7 D1 B, U. ~
/var/log/nginx/*.log { " z$ C' Q/ O+ [$ \
daily
+ v f9 R% x0 \, ? V* A) m; B2 M; x missingok 2 O. g" r' ]. Z: B1 P5 k
rotate 52 4 @- }' f* F# K( |2 p
compress
# `. Y) ~* f* P6 m delaycompress
3 ?: `0 Y- r& B- V& { notifempty
( b' h4 W/ w$ B" @, f4 `8 F create 640 nginx adm
3 W9 { i$ v% m1 w" J" r% t6 { sharedscripts ' Z0 N. M, i& [- i7 ]- P. \; I
postrotate
& |' J3 @$ Z9 L' |0 x [ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
& ~! {, u' s6 U2 g$ X% P endscript 3 d, i' Y& I6 p1 W/ e% s+ z
}
/ A# D8 |2 o! l1 H3 a7 B' LLinux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌. " E! M( B4 ^( q* ^( N
5 u# s9 W: B/ R% g2 W) l
" E! q+ T6 A* A
配置說明:
: R* F# c" X5 s3 b6 m7 [daily:日誌文件每天進行滾動
( a4 y( G$ P; A2 bmissingok:如果找不到這個log檔案,就忽略過去 " K& W3 g r2 T1 f; l
rotate:保留最近52次滾動的日誌
/ L( f0 D; g' a; g; |; j Qcompress:透過gzip壓縮轉儲以後的日誌
, P; ]" O. K& v* T6 b1 f5 F8 Adelaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮 4 S& c3 o$ p2 ?* v7 e# b
notifempty如果是空文件的話,不轉儲 # A9 f! v( p: t0 w& P" W
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
5 T% j, q$ E: X. [- o: ?! V) osharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件) - Y+ q8 n' R. g5 N% O
postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行 2 E8 M# @$ Q1 t$ u7 n6 _0 X
' c/ m4 K T1 P$ _9 U/ k+ |logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
0 F0 G- q* c+ x2 b. _2 o; `5 ^! O/etc/cron.daily/logrotate2 @- K6 }; F( u7 A- c) c5 ~
" V" b' f. A' o1 i# R P2 H要測試寫好的設定檔可以用以下命令:
2 F+ t4 J0 [7 [* Asudo logrotate -vf /etc/logrotate.d/your-conf-file
7 e8 w& q6 Z$ S* o$ H: ?2 _# J# h5 u+ f! m/ }2 W
( M2 z5 }% b2 e; Y/ U0 A1 n. f8 h( _5 Z! m5 n
註:
& ^' U& T f/ }9 l參考: https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html; N8 N$ M" B, v) x
$ h) p- ^" E8 {
|
|