52AV手機A片王|52AV.ONE
標題:
nginx的log檔沒有被自動壓縮備份
[打印本頁]
作者:
IT_man
時間:
2016-11-3 16:51
標題:
nginx的log檔沒有被自動壓縮備份
本帖最後由 IT_man 於 2016-11-3 21:24 編輯
) z, b _% Q1 q9 |
' x9 Y4 t: Z% P* r* E: s& N
CentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.
/ o# u, W2 i+ r: T i9 I4 t
找了google才發現原來缺少了
/
etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.
9 w! ?; k$ m- s& _1 S# [' K
於是乎我從別台server複製過來,搞定.
: R0 F7 E& t* r( L# i j
8 L4 k7 U) b9 Q* b
" C; m B1 D; X5 m$ W% C2 h7 c
( P; j8 ^5 H! n4 u. k! i* T
以下說明
日誌管理服務
logrotate運作原理:
% y1 H/ I, H5 o4 H8 T9 p
" f9 V( X6 ]7 i& D$ \
( [4 n) Y3 X ]) @( Q* n9 h
因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx
( ^& {' m* d1 z) L+ H
/var/log/nginx/*.log {
{1 L9 X K% [" T; i- L! `
daily
/ X% O- Q, c% h j& a
missingok
: |! N |2 h0 ^. M6 r; F* G: C
rotate 52
! I8 b4 | c* l0 Z
compress
0 B9 \* j6 m* l; o. H3 b
delaycompress
5 Y/ |$ g8 z+ @! {, q5 s/ y
notifempty
/ `/ w( g d- a% ]) L0 T
create 640 nginx adm
2 j$ m, c( n% Q% w; @2 x. P7 a
sharedscripts
8 o' H( S3 X# q" J* `# z
postrotate
0 n2 o9 ^0 T8 {9 e3 A# q( _! @
[ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
! _ X+ ^) i' c5 x# v
endscript
- t3 _/ p% ?! i% h* c$ ]0 t/ P! R
}
/ V% v* p- n: y$ K
Linux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌.
0 C! b/ x0 z( ]# l3 n
: v* E1 A- a7 f5 B0 k7 C3 }
0 y# T5 l' m7 N2 U* }5 ~' B
配置說明:
% L, U' Y* G( e' P/ T# ]
daily:日誌文件每天進行滾動
' A* O6 f% a( G+ Z4 t
missingok:如果找不到這個log檔案,就忽略過去
+ l. A0 S! L3 {* b5 f
rotate:保留最近52次滾動的日誌
1 k4 d) b) B, E* X3 Q
compress:透過gzip壓縮轉儲以後的日誌
+ m, B0 e* g% o1 y
delaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮
2 Y( Q6 K# X. f/ H6 H
notifempty如果是空文件的話,不轉儲
, g& p* ]/ o7 `/ t B- I
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
, h0 b8 o" K* {/ b5 D2 `
sharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件)
: t/ N8 f! G6 D9 A5 c
postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行
- J+ e2 s" v2 Y- L. }
& {. A7 l1 C. e7 _ x
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
; k$ d" L2 P/ a' @& }) F
/etc/cron.daily/logrotate
+ Y, x6 e: A2 ?& p
# k4 s& U3 x+ x
要測試寫好的設定檔可以用以下命令:
$ b' P3 s R; a# @; T
sudo logrotate -vf /etc/logrotate.d/your-conf-file
. w; c! O, q2 l: }; U
: C# J' A0 n2 z X1 q. r: _3 z
" `8 k) K; }8 y. R8 G: O3 e1 u
- X6 m/ D: g4 {6 V% G2 j% `& [
註:
. t/ T6 h; |' J! g+ }& y+ ~0 a
參考:
https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html
% X! V& B/ P6 O/ f
2 N# L- l, J1 y3 {
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/)
Powered by Discuz! X3.2