52AV手機A片王|52AV.ONE
標題:
nginx的log檔沒有被自動壓縮備份
[打印本頁]
作者:
IT_man
時間:
2016-11-3 16:51
標題:
nginx的log檔沒有被自動壓縮備份
本帖最後由 IT_man 於 2016-11-3 21:24 編輯
* q( [1 S3 p+ J
- \: A# T g: z3 o
CentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.
: Y/ z9 H# |+ ]9 O5 W
找了google才發現原來缺少了
/
etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.
1 F1 z, c- J8 ]: `
於是乎我從別台server複製過來,搞定.
9 Y3 j, _/ _- [) `- ~; w4 @
) K; b, C: Z; Y Y$ I
F3 j- S# W8 X/ p6 A6 {: K; K! ?
- E. k0 y- I& A' H( O
以下說明
日誌管理服務
logrotate運作原理:
/ w# [. ?, S3 S1 g! v8 N! p
3 Q# x/ j$ l, I
% [6 p( }1 ?3 l Z
因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx
5 t! T7 |4 @" t1 G
/var/log/nginx/*.log {
6 p2 M- B" H5 X( w8 \4 g7 U5 Y
daily
5 z& P- W" D& U. M
missingok
0 ]% {: h8 d. w) d! l9 K" p
rotate 52
0 L- x/ r) \8 O7 G6 ^/ e
compress
0 f8 l9 m4 ?) t$ |: g( ]) C
delaycompress
( S5 H& k' C, j% q% _( l
notifempty
3 @( Q* y0 N" B8 j% ~$ h i
create 640 nginx adm
2 r; A; b4 y1 E- B$ I, P8 o/ z
sharedscripts
, U1 c0 v% D- X Q4 T7 l; O5 X, M
postrotate
/ s2 U) B4 O) _) t5 j3 z
[ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
9 f4 v/ t' m3 ?' k. u. V
endscript
0 t, a+ u6 V4 w' x! T& G
}
( Q1 r- Y: n0 c2 g
Linux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌.
9 h: |6 r3 Z' @8 M% k/ k( Q( A
T9 S2 @6 i5 Y/ E4 C
7 D. j: |/ e0 i* g! w9 z
配置說明:
4 W x! |' x. y' H, s3 S( T
daily:日誌文件每天進行滾動
+ {- x6 f8 L# k' m! S% M
missingok:如果找不到這個log檔案,就忽略過去
! n6 _8 b7 h6 D( ^
rotate:保留最近52次滾動的日誌
! ^6 U8 f; m' e: ~8 F$ `5 w7 g
compress:透過gzip壓縮轉儲以後的日誌
+ m! s7 F& w& ], s' D
delaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮
+ X: Z! U3 l% j% P3 V7 F! X
notifempty如果是空文件的話,不轉儲
3 Z6 t2 g5 w7 O( y- P& _3 M& _
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
. @( h% ~$ A6 k# [/ s% N
sharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件)
7 } e; K/ O1 N2 ^- v
postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行
+ }6 N) ?5 k8 V( h* k
+ B) i) X- I1 K: `! T. c4 b& y# B
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
' p3 b+ m# S# D
/etc/cron.daily/logrotate
/ y4 j. w% N: h6 R; P
# | g$ N1 m( }) u
要測試寫好的設定檔可以用以下命令:
2 f/ s' I3 s4 Y/ g" ]$ w0 X- I- j0 x
sudo logrotate -vf /etc/logrotate.d/your-conf-file
* n& |: ]% q1 [1 \) ?8 Y& [; M
8 P) L* b/ F Y) N& _0 y8 f$ X4 @0 u
u; s; V6 v3 N: ?* B- x
% Q' ~0 L4 x- @' ^3 s/ d
註:
' u2 b0 e7 E7 j5 L& v& u, f
參考:
https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html
0 G4 U {3 G+ d( `- Q8 r
& b$ u. y. {% U- c+ h$ }4 A0 q
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/)
Powered by Discuz! X3.2