52AV手機A片王|52AV.ONE
標題:
nginx的log檔沒有被自動壓縮備份
[打印本頁]
作者:
IT_man
時間:
2016-11-3 16:51
標題:
nginx的log檔沒有被自動壓縮備份
本帖最後由 IT_man 於 2016-11-3 21:24 編輯
9 f5 _8 B8 N6 w4 P* W
8 e0 X) w: l, r8 x3 b7 x7 f5 a
CentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.
6 ~0 A/ [% S5 ~+ h
找了google才發現原來缺少了
/
etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.
# X8 p% P/ E# R7 K& c0 d2 a
於是乎我從別台server複製過來,搞定.
: D/ S' A, V9 b; s: v' }4 v3 j5 v
/ |# T/ g+ h8 ?
( E7 f# D+ r9 A7 t$ X
* N. S: m: k5 v$ {0 u. ^
以下說明
日誌管理服務
logrotate運作原理:
1 t, x4 q/ x2 _) d4 m
# U/ h2 _4 d }- K7 } J9 b+ `+ y
b. {1 R& a! f9 b0 r
因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx
2 P C5 ?, O# ]* S/ d. ~. v4 f
/var/log/nginx/*.log {
& E7 A5 j1 G) P/ j) d
daily
5 B8 T! n+ j0 `$ f, u' ]
missingok
# C( `# [ K5 j
rotate 52
% O$ [) A1 {4 o& P- k/ Q$ @( O( |
compress
/ E1 y7 r8 `4 e* Q# g* S% S5 [# x
delaycompress
0 n- E" w4 Q- H4 F5 m: d4 ~. z- m
notifempty
# I# X: x+ P1 }
create 640 nginx adm
, C5 n4 O- w0 s8 H& r2 i' P8 ~
sharedscripts
/ u5 N4 q* B0 t ~& o
postrotate
( ?) W: O; @) y" b
[ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
# T/ S% W3 \0 j2 _
endscript
, [) Y6 y o y9 ]: r# \) x
}
0 U% p1 o- C2 u3 l8 p
Linux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌.
, z! H* _3 V7 h7 k
) M- M4 V2 t5 p- z2 Q9 R1 X
1 h1 z1 r! D7 |- g0 y6 c7 c
配置說明:
/ F. U6 V0 v. a O$ L
daily:日誌文件每天進行滾動
2 t; D% d( S+ e) v& K( U% j5 P
missingok:如果找不到這個log檔案,就忽略過去
3 x! K+ S; N1 d4 r. r
rotate:保留最近52次滾動的日誌
* Q; k8 ^. K5 u+ `( [9 o: \& D
compress:透過gzip壓縮轉儲以後的日誌
8 t3 Z3 b7 z1 W/ o
delaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮
. }- f, q3 X" s
notifempty如果是空文件的話,不轉儲
B+ [* S; ~+ J# v* J8 X/ Z
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
, Z7 W5 K! _ |
sharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件)
K2 y% k3 p1 S7 A
postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行
& ~, _( W( |& ~8 ^8 P* b; \) H; K
$ b" @$ R$ }7 P) w; q
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
: `$ A- `: Z. ?" B2 `
/etc/cron.daily/logrotate
5 g. J& z: W# e/ H( J
, K" g* t+ i5 }; S2 b' N7 A
要測試寫好的設定檔可以用以下命令:
2 A$ r: D I" |+ e% e
sudo logrotate -vf /etc/logrotate.d/your-conf-file
' ?: o5 o; |7 d& @0 d' J
( A/ `+ p' x$ s, q+ A4 q
- N/ O6 }% m9 b i6 }
" Q, D. ~+ D4 a* `& h3 Y8 c
註:
. o e/ Y+ m& a1 k) R0 D
參考:
https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html
! p m* d4 T" O! F1 t
/ [& s/ u/ S* ~$ W, o2 g
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.itech.casa/)
Powered by Discuz! X3.2