本帖最後由 IT_man 於 2016-11-3 21:24 編輯 3 W2 r' x7 X' o8 f+ _
% j+ ^: ~6 H8 v* a
CentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.
# Y/ `4 k1 q s6 v找了google才發現原來缺少了/etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.9 x8 u0 {" J8 h) g0 Y" U$ d
於是乎我從別台server複製過來,搞定.
' {2 K9 t3 _ S" q. t9 W) C9 I) T# A$ F! k3 c
+ K H& v/ ^0 f" q+ J, h+ U
3 _2 s$ |; r3 I6 }) S' W以下說明日誌管理服務logrotate運作原理:
: P, ]" z" P4 Z* F9 @) V0 A) C+ c) H7 e- y, F4 \4 ?( P, x$ O
: l( \/ a/ n5 p& j* p4 n% P因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx 8 _6 L0 ]. E- w! K# D, l
/var/log/nginx/*.log {
# t2 L/ c p. U2 U" w1 K) U+ Q daily
" b/ P3 b& I( T. Q& Y missingok
8 N9 Q- E4 G+ T& ?8 e1 } rotate 52 X5 |5 Q( k+ b3 A4 |
compress 9 r: {, X3 `( J1 N( h& I' j4 Y
delaycompress
9 H8 A2 k$ e" u' v notifempty % o }2 j% _" f6 [: A; ~! s! ]3 Y0 v
create 640 nginx adm $ F- K+ F1 t0 H# c5 }. q
sharedscripts " u Y0 {4 ?: \ g
postrotate ( ~2 I3 _( K$ J% x( Z
[ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid` ; @& D3 S( {% l% [# m0 b- V
endscript ! ]' v" Z& b; N" h% z$ ?
}
; R6 I! u3 |: n. rLinux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌.
, g' @" R" z0 b" q5 p& C# P/ f! Q, \
0 z% w; J* T- t
配置說明: . Q: X. I! W c g9 f
daily:日誌文件每天進行滾動 % a# ~2 c7 N+ ?/ S' J1 ^* H
missingok:如果找不到這個log檔案,就忽略過去 5 K S) o" `2 ?5 Y4 |
rotate:保留最近52次滾動的日誌 + x; ?* T% R+ X! v
compress:透過gzip壓縮轉儲以後的日誌 9 y$ M: `6 P5 l# f
delaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮
% p1 b |7 K5 h( z/ j8 \) \0 S4 Ynotifempty如果是空文件的話,不轉儲 4 @1 z$ j* O/ T5 b
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
$ X/ Y" i2 E: \) D" O4 Isharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件)
. W: v: D8 Z8 b. f0 bpostrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行
% Y" {. C0 k* `5 U5 e! y' W0 }: ~ d5 ]1 E$ z: c
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
, C. z' w0 y5 H N. U/etc/cron.daily/logrotate
: n, @) X( u% M1 ?& |1 Y
/ Q. z1 |- j6 ?0 A6 [要測試寫好的設定檔可以用以下命令:
! v9 c3 y, ]6 E3 J" V# ^# Xsudo logrotate -vf /etc/logrotate.d/your-conf-file4 z; [; P' S+ R3 Z
: x& r6 M5 j4 k# z0 N
% a8 E( q# t7 z E1 l" f
. v U5 _9 S5 Z註:
% C% ]' V! F- `" h8 u5 L; Z參考: https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html# o$ {, B) j: f& \* V
8 Z# t# z& e% T/ c) p1 a |
|