52AV手機A片王|52AV.ONE
標題:
nginx的log檔沒有被自動壓縮備份
[打印本頁]
作者:
IT_man
時間:
2016-11-3 16:51
標題:
nginx的log檔沒有被自動壓縮備份
本帖最後由 IT_man 於 2016-11-3 21:24 編輯
% U( ? H5 X7 Y# M$ W4 Y& P
! h8 T. R/ Y5 W
CentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.
. H' T8 t: }& V9 y! \
找了google才發現原來缺少了
/
etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.
2 \, Q; S4 r, T8 F
於是乎我從別台server複製過來,搞定.
- v) W; W+ | w6 _: W) x8 `8 [7 G) P
7 }, g( F: ?) }! p% Y& a
- W# F0 z6 `0 O/ ?. G& U
- P+ O; g) t: z' m; I4 v: M; Z
以下說明
日誌管理服務
logrotate運作原理:
0 p8 k8 I, _0 v+ l* x) y- p# y
* Q0 d, N: ]9 C" P8 [
; s+ \" n z9 ^) d+ c8 s
因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx
6 d6 y1 @" a3 v
/var/log/nginx/*.log {
4 d) y' j# s3 e4 w
daily
0 Z2 s, f0 Z# M1 C+ L7 a+ N
missingok
9 d# j& ~5 d/ T; W4 f
rotate 52
7 {4 W/ {! Q p% ~
compress
/ R$ ^& T' G+ e
delaycompress
0 ^1 \( u6 c2 C$ i3 f
notifempty
" h! a. y& n1 C+ t( K# S0 Z5 ~: \
create 640 nginx adm
: G4 \& Z" o9 N6 m) V
sharedscripts
% V5 q) e- p' m2 l- @
postrotate
A/ }( c, v5 s
[ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
2 v1 }& K/ p; f3 D2 n. h( N
endscript
- D+ C5 i8 L7 Z$ D/ \# l% I3 H9 [, t
}
5 P% c- J- K: G
Linux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌.
3 L K% A: D3 N3 M; `( l
* B& z1 C4 L# u# N5 t; |
: r) B$ w. L; P! ?5 ~# ~$ R
配置說明:
. I7 D& ]( o( b# \7 j3 C8 V# w: u
daily:日誌文件每天進行滾動
$ _2 z2 |0 v7 V0 U3 |6 ]$ U9 H+ V8 I& I" K
missingok:如果找不到這個log檔案,就忽略過去
3 E. y6 X6 s8 E+ N! a& V
rotate:保留最近52次滾動的日誌
* `- }% J9 r, x
compress:透過gzip壓縮轉儲以後的日誌
" w4 f2 f* P9 h( O
delaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮
+ }, Z/ R \0 h. M- |
notifempty如果是空文件的話,不轉儲
5 u, F0 r" x# t7 s H; O
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
7 M6 Q& T5 H/ k9 y+ f9 s" R
sharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件)
8 a+ v! L# X4 X1 w, \0 o
postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行
! Z! n( b4 a% A8 z* d. _
( y- m, e; G; |2 g
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
: _" H1 [' G% y$ t+ z" |
/etc/cron.daily/logrotate
2 P: V" C' ]; V. E
( y$ t3 V$ A# t7 c! s5 ^/ m ?9 z
要測試寫好的設定檔可以用以下命令:
/ ?' ?7 G o) S0 N
sudo logrotate -vf /etc/logrotate.d/your-conf-file
$ y) c5 Q' T/ l6 Q8 P# _0 d* W. O
5 A" m$ o& S) W0 r9 l+ {2 t! R
0 [. T2 V r; @. m" g
$ ]( T0 |5 J" S' L" O
註:
7 s2 |3 J# t" c( r5 g' w
參考:
https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html
0 e5 @- r* v3 I2 Y V. |) o0 A
; B0 g4 q V' S8 M1 l# h7 x
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.itech.casa/)
Powered by Discuz! X3.2