52AV手機A片王|52AV.ONE
標題:
nginx的log檔沒有被自動壓縮備份
[打印本頁]
作者:
IT_man
時間:
2016-11-3 16:51
標題:
nginx的log檔沒有被自動壓縮備份
本帖最後由 IT_man 於 2016-11-3 21:24 編輯
- m k, k5 P2 |
+ p. u' t( O" M" u) h! Z
CentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.
# }5 d( X0 p. E5 j) K$ N
找了google才發現原來缺少了
/
etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.
; D( y2 u& s% D( T# q
於是乎我從別台server複製過來,搞定.
3 j6 [) r; y$ P# W$ }
$ x3 S1 O- L; Y/ Z7 o0 v( b( A) y& o
- P- e& H( u: k+ T8 \
: i6 h; H7 ~) F- O5 D
以下說明
日誌管理服務
logrotate運作原理:
# N" D X2 G1 x5 H( Q7 s% ?
! R7 b4 l+ p3 } ]/ K
3 W% U: t! @8 ~' `$ E* A. u
因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx
* }6 B# f0 r$ W. L& Q
/var/log/nginx/*.log {
- E7 F, \6 z2 t. |6 p: W4 Z( I. h
daily
& x5 _5 x- E, y1 k! X, L+ {( b, Y. ]
missingok
( a$ ^; D/ i, r, R$ P- H6 e) }
rotate 52
6 |5 R7 _) N! O* n" J1 ~! m
compress
( T/ N+ S' u) T8 J4 Z
delaycompress
6 q% l0 X( E' w$ f( s
notifempty
! X5 ~% s8 t( i% I: V$ W: @0 w4 R6 [
create 640 nginx adm
% y4 o, ]% j$ L- J, _' q8 @6 e9 c- w
sharedscripts
" b# C2 B; R: K2 f: [
postrotate
; K! U9 Y D, h$ E0 r( X1 V, G
[ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
0 y' p8 Z7 x& f6 i
endscript
! N$ \8 T6 J) O1 E1 ^
}
; G$ _4 @8 O0 e. t
Linux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌.
& S2 D* r% w1 F+ j9 d
3 F9 N9 q, p% c% B8 P2 M8 `1 L
2 b2 w7 l( O7 m) x) j4 K
配置說明:
+ w3 h1 Z2 w4 q2 ~9 f$ m& B% A7 [) c
daily:日誌文件每天進行滾動
' N, W5 A* D& v: g& o
missingok:如果找不到這個log檔案,就忽略過去
4 Z- g0 E- v3 P3 G1 p1 B
rotate:保留最近52次滾動的日誌
) o6 q# o8 p! Q4 o
compress:透過gzip壓縮轉儲以後的日誌
9 F7 e& Z, i" i q# N) M! |
delaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮
4 X3 o; S" f: I0 _
notifempty如果是空文件的話,不轉儲
( A! |$ j+ Y* Q' L8 S- F* Y
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
; ~3 W: E4 |! @
sharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件)
9 p5 |3 C: q2 M: m6 `4 C
postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行
; n; N4 P: V5 A2 h# |+ B3 e* ~" R
' U1 V) e3 [* w5 g* \
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
2 Y2 p3 L9 y; |0 w: g' o
/etc/cron.daily/logrotate
/ m# Q8 f& b7 o( c1 k
. V s/ a# j% N
要測試寫好的設定檔可以用以下命令:
/ P0 f# P: X2 p
sudo logrotate -vf /etc/logrotate.d/your-conf-file
: @ d8 h% Q l# Z8 L# t
' O: C( h: C( A/ T
! a- _. o3 r! ^9 w
4 X* S' C+ U% x" _$ n
註:
q/ _. C. v" _ f" M: a- m) p4 a
參考:
https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html
% M8 Y) w" V# Z! D/ l( f
+ j# c2 k6 P' |! L
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/)
Powered by Discuz! X3.2