52AV手機A片王|52AV.ONE
標題:
nginx的log檔沒有被自動壓縮備份
[打印本頁]
作者:
IT_man
時間:
2016-11-3 16:51
標題:
nginx的log檔沒有被自動壓縮備份
本帖最後由 IT_man 於 2016-11-3 21:24 編輯
5 _' d" w4 e }7 V( ^
9 i* R+ U! Z/ X. k
CentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.
. O/ ?$ v I) W
找了google才發現原來缺少了
/
etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.
" N; T: e5 @! y7 W& \2 L% k) G
於是乎我從別台server複製過來,搞定.
- m+ V( \4 B- e8 T+ y, M
; j7 S+ h9 m" G8 d: V; h
. @ S# H6 A6 ]3 z9 d7 l0 s
3 v) F9 U/ L2 J9 `# B
以下說明
日誌管理服務
logrotate運作原理:
: [7 J8 W. r, V' q+ y; H6 W3 Z
; x3 \% }- |! T4 J% i' L& Z
9 y1 I: R: U. L7 k/ n
因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx
( l' w3 v3 p8 B3 i) v0 k
/var/log/nginx/*.log {
) r* g, H1 B5 y4 i4 o* ?* Z
daily
: {4 k3 }$ o6 M7 v$ x5 ?
missingok
5 @9 P! e4 x# D; _5 ~
rotate 52
4 `. I* g/ O6 U( ]/ Q" R
compress
4 ?8 ?' X# p* i& K" ^
delaycompress
% G3 q* {* h- r/ o' ^& _0 D$ ^
notifempty
6 g7 b6 l% k5 F
create 640 nginx adm
; |* X a5 v5 Q: ~
sharedscripts
5 _4 C# G) J5 ~! e- V J" ^7 |% p
postrotate
- W$ V, {: z" F4 S9 P$ B5 G
[ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
8 ]& j0 J/ @: f4 P, L7 w0 q# H1 X5 `
endscript
: F1 ]) D/ X4 ^" H
}
# }' o; [ _- m8 P, M
Linux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌.
$ G' o/ h0 J3 M- z2 W* k
: t# {; T4 W! b' ?
% `+ U" M0 q( T2 m6 n' V& O
配置說明:
' w& I1 \3 |# p; F; y4 g3 d
daily:日誌文件每天進行滾動
; l( [% }; ^4 F2 m
missingok:如果找不到這個log檔案,就忽略過去
. E u+ ^$ C9 ?8 e8 ^! ]' ~* Y' }9 ~
rotate:保留最近52次滾動的日誌
9 U& O3 Z5 Z. x( q
compress:透過gzip壓縮轉儲以後的日誌
, i- Q" O& \- J5 k4 a& b4 o
delaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮
- |& ]+ R9 R# C. ]& L' N
notifempty如果是空文件的話,不轉儲
5 T) C7 a- S' d+ D% {6 c0 D y
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
$ Z6 G/ j' m9 H
sharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件)
: A+ [3 a- P" `+ n. T9 r
postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行
8 j/ O9 ~2 ~4 g; g4 `4 F
, w/ w1 w) n7 S, O; Z) ^$ f
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
p. @( ?" U% S( ~; U2 V
/etc/cron.daily/logrotate
+ }% x: D* s, k% C7 N+ G: {
9 d# A1 m& t* n) o- a# }
要測試寫好的設定檔可以用以下命令:
6 q; [+ H3 I2 c( U, o. {' f3 o
sudo logrotate -vf /etc/logrotate.d/your-conf-file
* v' U8 _! V0 X K' o, g$ O1 v
+ [! a' n: g7 A$ K9 j$ H" m* j5 x
, C: h: w# @: ^+ @7 m
! D1 [; P5 G# \1 _ ?) U2 _/ m8 O: S
註:
) U8 B; v) ^5 \( [. l
參考:
https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html
6 M( c3 K$ d0 k6 E' X
[! o- l. E. a+ B- P; w
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.itech.casa/)
Powered by Discuz! X3.2