52AV手機A片王|52AV.ONE
標題:
nginx的log檔沒有被自動壓縮備份
[打印本頁]
作者:
IT_man
時間:
2016-11-3 16:51
標題:
nginx的log檔沒有被自動壓縮備份
本帖最後由 IT_man 於 2016-11-3 21:24 編輯
) r+ `7 o4 ?* B: p1 _5 v- ~
1 w3 G3 U" A" `* t
CentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.
6 ?' ? M; Z1 W& Y9 }
找了google才發現原來缺少了
/
etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.
- Q3 b, X) z- L( b4 v! M7 j: Z- a
於是乎我從別台server複製過來,搞定.
+ Z; v1 j2 s6 \% I
$ m4 A0 K% W+ e3 U
^( W+ v0 Z8 t) v, A# N
' ^4 M- b: k1 H
以下說明
日誌管理服務
logrotate運作原理:
- u2 u) W# d! I' J8 k
5 F* g0 {7 H+ W; P. Z2 ?8 {
% J: b6 e% u' s% s
因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx
+ `7 u3 [% ?+ h" J7 e2 x" R( s; i
/var/log/nginx/*.log {
# u7 W* l6 X* g) u2 z& F
daily
# K8 o/ o' I7 V" @: ] p; H
missingok
! G* n4 w8 x1 A( E
rotate 52
4 `5 [$ `+ a$ S; m8 t- O7 D
compress
9 y8 I; @* k* w& E' Y6 ^
delaycompress
8 l- |# f9 ]1 P( e
notifempty
: B" Z' O9 Q+ D( _3 V+ o+ N: N
create 640 nginx adm
" A2 s% X$ y; z% j7 f& ?
sharedscripts
1 D6 l7 u1 Z# R
postrotate
# f6 d6 v$ P4 p# u
[ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
5 R* f' x, e, s1 T$ x
endscript
/ p; Z6 m, M5 v8 E! r
}
3 u! p, j; @0 d6 r: O9 l# Z- _
Linux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌.
- z ^7 `8 m" y/ _7 s
& R" Q3 T& u1 D, q) @8 @
9 ^+ q2 d U: _% P4 g7 ^( h
配置說明:
, T: I# B7 I G+ T/ F
daily:日誌文件每天進行滾動
& j$ A& K, Y8 Y" e
missingok:如果找不到這個log檔案,就忽略過去
# f% Y" D$ l5 s$ l1 Y3 ~
rotate:保留最近52次滾動的日誌
4 X# l; f7 o* H" [5 h1 {
compress:透過gzip壓縮轉儲以後的日誌
* n3 i5 Z: D8 E y6 c! G3 }% d- U
delaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮
1 V9 m* U6 |5 Y# `
notifempty如果是空文件的話,不轉儲
+ [6 Z7 a( s* l- J
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
) b9 J {4 L4 B& ^+ M+ @
sharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件)
; D, N9 |) R( }* n* P: @
postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行
2 m2 Y/ {& K4 Z+ ]4 D* `; }1 G5 M
6 }6 U4 ?! y+ |
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
# r& q' ?1 b# H/ M5 l9 P8 A T+ {! `
/etc/cron.daily/logrotate
1 N! r, y) S$ I( Y$ ?' Y
0 Y2 ~7 q' c3 H' x! Y
要測試寫好的設定檔可以用以下命令:
# ~5 l7 h" r5 n$ K' E
sudo logrotate -vf /etc/logrotate.d/your-conf-file
8 ^1 E7 a( D4 Y) K0 V( ^5 Y
7 o: M( P- B8 g5 H3 s, J
6 j- `" I& V3 ]( E/ K. e% V
3 ]) @: j' ~: T6 A, R' g
註:
" c5 e' f6 a' Y+ m: O
參考:
https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html
* {: Q; D* v0 O
! `0 [: _" Q6 k+ @
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/)
Powered by Discuz! X3.2