52AV手機A片王|52AV.ONE
標題:
nginx的log檔沒有被自動壓縮備份
[打印本頁]
作者:
IT_man
時間:
2016-11-3 16:51
標題:
nginx的log檔沒有被自動壓縮備份
本帖最後由 IT_man 於 2016-11-3 21:24 編輯
& A. ~, P* {; P- b
' ^, F# U4 V5 o
CentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.
2 o' m$ ^5 {7 ?! w% V
找了google才發現原來缺少了
/
etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.
3 v2 ~. N9 w) N, N
於是乎我從別台server複製過來,搞定.
7 N$ D- G i( U Y$ R, [/ i
1 \7 y* g' Z% N" u1 g
- Y, A! m/ g. n% v
* T- Q# {+ A. h! c: t- G& s$ V
以下說明
日誌管理服務
logrotate運作原理:
0 ~( }4 p: ~ \) E8 a
/ j2 L5 ^8 Q3 T& N- l; S+ v
5 j# _- Z$ e2 g! y
因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx
* {+ }4 Z0 ^8 T, l. Z& N
/var/log/nginx/*.log {
# w9 o3 ? u0 O0 q* W
daily
$ r3 g) _# a7 C+ `& B
missingok
6 l E0 L3 P7 B4 I6 k7 O
rotate 52
/ V( u) G3 Z1 F
compress
+ B3 \8 e8 p2 | J
delaycompress
/ Q S8 @0 w. q8 s
notifempty
+ A) I+ u* Q: b( T# P, T/ o
create 640 nginx adm
8 ^: i) W, O2 c8 V# Z. J$ y; m
sharedscripts
" g! V* {! ~' I- v& w" f7 F* {& n
postrotate
6 ^8 H; Q* u1 C/ q
[ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
# o4 D2 s0 J) R0 Q# ]1 s' b. k
endscript
6 h& q$ @8 ?+ Y! U% g( f4 H7 O* @
}
2 r. |7 S1 [6 O/ f4 {6 ]
Linux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌.
# g. Z3 I) \' v: Q) m
9 L g5 ]! H' ^
( h' m4 Z. `( z/ {) @
配置說明:
! L) M& [0 {% Z5 \6 t( g- S
daily:日誌文件每天進行滾動
+ Z% R- Y/ Y- ~( r9 p
missingok:如果找不到這個log檔案,就忽略過去
" ^0 u3 C) k% q. T4 Z: A
rotate:保留最近52次滾動的日誌
' h/ B7 R/ h2 c" I3 L; m3 F" P
compress:透過gzip壓縮轉儲以後的日誌
( ] d+ C& m; C( T+ Z. Z
delaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮
6 [7 m% w3 |7 b/ ~2 S( x7 Q
notifempty如果是空文件的話,不轉儲
' d" ]' ~" L7 b! U0 q
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
* e. ~; O F8 B
sharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件)
* h4 [$ d; Y+ g+ O
postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行
4 q. W) S9 X5 ~+ \3 L/ `
1 G; P+ ^3 p7 `
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
# w7 V% A4 R# y# ~
/etc/cron.daily/logrotate
( ^( i$ |# A( {6 I% S
% j) X. s0 y) X1 c4 Z: z
要測試寫好的設定檔可以用以下命令:
7 r1 `3 ?. ^3 f; g
sudo logrotate -vf /etc/logrotate.d/your-conf-file
1 ^( L! Y1 ^) v1 u" H1 E" r2 f
8 a$ Y/ t0 R3 o% K. r8 |, i
% G% |0 Z# R; ` c3 Q& {. ~% a n
( _/ ?9 e' Y( O
註:
+ n- j6 {; z5 Z& ~
參考:
https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html
; ^. X" c( T% b* h4 R/ Z; Y
- j: m) R1 t$ \; K: A
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.itech.casa/)
Powered by Discuz! X3.2