52AV手機A片王|52AV.ONE
標題:
nginx的log檔沒有被自動壓縮備份
[打印本頁]
作者:
IT_man
時間:
2016-11-3 16:51
標題:
nginx的log檔沒有被自動壓縮備份
本帖最後由 IT_man 於 2016-11-3 21:24 編輯
' {- s) x' I; Q# K0 Z/ Z# M
( F7 ]$ e8 ?& E: y* N9 }$ q
CentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.
# D2 {+ i0 ?' I* d9 B2 ?5 [& o
找了google才發現原來缺少了
/
etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.
3 _) N. u9 ~( c! I! J3 b4 H3 }
於是乎我從別台server複製過來,搞定.
: ^+ D3 Z8 o Z( k3 @9 U: |9 o# q
/ \" O- P" @7 X) r! Y, T
$ L9 w8 v! S9 z% Y4 y
* O% B7 f4 O& ^% D' I
以下說明
日誌管理服務
logrotate運作原理:
Q' j: Z' [( p- X6 L# ^( }
" t% c+ y) Z7 L6 K
$ y- ]- u( W o' m& l
因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx
9 n, o- W1 [# J; ^( c* x
/var/log/nginx/*.log {
& H8 z% K9 x8 k4 K9 [
daily
& E% d0 K7 J3 C5 r6 e7 E% }
missingok
# \! p# F H% E! D
rotate 52
% \' d# D/ L# H, h
compress
3 u& Q! ^% u, S9 F- }% I9 O
delaycompress
3 F0 L+ H% v1 E$ H3 x. C
notifempty
( s6 d' b; r/ \
create 640 nginx adm
, s$ g& ~( h; h0 ~; U
sharedscripts
: [6 B1 _' `. K( T, X- R
postrotate
% N! H" c% a0 }4 }# H4 l
[ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
h, B5 d' \3 Q% P* b; f# @2 C
endscript
- B& [' M R1 r" Q+ |( v/ d* `
}
' T7 P: i" i+ _$ @8 r* b) I
Linux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌.
9 Q* r$ q' e* L0 O( D3 Q5 P7 f [
4 Q3 Z+ l9 ]. O0 o- `
- ^3 e6 {+ K. j5 O6 o9 k
配置說明:
* z+ Y. y7 u+ n) W4 F0 p7 K
daily:日誌文件每天進行滾動
: a( y. _8 P0 e9 l6 Q) ~) I
missingok:如果找不到這個log檔案,就忽略過去
$ g1 [$ Q6 D2 V
rotate:保留最近52次滾動的日誌
H# `& m p2 s7 X( R% ^
compress:透過gzip壓縮轉儲以後的日誌
6 H3 a" ~. H! o+ O J) H
delaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮
% A8 E' ?+ U) Z$ j R
notifempty如果是空文件的話,不轉儲
+ o" D7 z, c9 G. j y4 x' s
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
/ {7 A1 s0 \9 ^% z8 \# j
sharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件)
: V. t/ @) l3 D& o$ k
postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行
6 I' N! b" m* w, @8 n8 B9 l: t
! O# y. r' R5 ?, P
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
% v/ C1 `( t* X6 G; \2 Z+ U
/etc/cron.daily/logrotate
- k8 u1 t* W5 l- _. L; G: }
?2 X" Y6 o4 P+ B7 f2 e
要測試寫好的設定檔可以用以下命令:
- R: N9 ?" K$ r' a; m
sudo logrotate -vf /etc/logrotate.d/your-conf-file
* H6 D) A% o8 C5 m
( M/ s. K; U8 h& d: ~
/ H1 A r9 T: V* V. C
- x5 p: g+ E z& d: j, @ a
註:
% j- p) d; S- v" r; h$ Z+ g) M
參考:
https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html
# w7 O6 K* i, {9 [# |( s! V
6 L! t3 ]8 m& l; `% ~6 K. d+ `/ F
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/)
Powered by Discuz! X3.2