52AV手機A片王|52AV.ONE
標題:
nginx的log檔沒有被自動壓縮備份
[打印本頁]
作者:
IT_man
時間:
2016-11-3 16:51
標題:
nginx的log檔沒有被自動壓縮備份
本帖最後由 IT_man 於 2016-11-3 21:24 編輯
- v0 |/ i; E* f
5 D2 t t3 s# Z* j- B
CentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.
* H3 A' F8 o' p3 i; {
找了google才發現原來缺少了
/
etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.
: |2 j8 I5 a* t& _9 Z1 u
於是乎我從別台server複製過來,搞定.
* R: |+ Q% q4 C5 @, I
/ s( G& A% j8 U- S/ A
& z( U2 B9 U- y7 o/ w* T B. ?
% H6 ^% L% H- l, u2 q8 q
以下說明
日誌管理服務
logrotate運作原理:
, e w: s- O2 I* m
$ s# J- R, L1 _1 c. `
1 o+ @: d+ V/ }+ V- E7 q4 R2 m- w
因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx
/ k" s- ?! q4 U# ?
/var/log/nginx/*.log {
/ c2 b. I2 M. }, W
daily
, q0 R. M3 U' }. }+ C1 a0 o
missingok
6 ~' S0 o9 b) ]; x* A! G
rotate 52
, f) L) {: E j- @
compress
- @2 \& K8 ^* c {/ @5 q! T: j
delaycompress
3 T" f/ f/ Q" z% V5 i+ M
notifempty
) L. Y- K, q& e" n1 I. x
create 640 nginx adm
! K7 I6 v( f( X
sharedscripts
1 l |% N, @7 K7 h
postrotate
1 p4 k! w' N3 r8 N' K% x% v, U
[ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
- s0 q. K7 v& ?7 T
endscript
4 z! u5 n( j1 K& w# v0 V
}
0 K1 i R" ~6 H( |
Linux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌.
& _5 t- ~$ i$ f
- Y5 ^ \8 M* b$ a8 B
8 n, e* j, F3 P$ i# b5 x) n
配置說明:
- o* Z) [4 a5 Z6 N
daily:日誌文件每天進行滾動
& F$ K7 y/ N& Z. f( Q
missingok:如果找不到這個log檔案,就忽略過去
& B3 O- P- ]& h7 C0 \5 m$ R$ J
rotate:保留最近52次滾動的日誌
7 s# ^7 Q+ m; `8 m- ~8 k+ O
compress:透過gzip壓縮轉儲以後的日誌
! E& b( F9 L; U% C5 R8 \! l$ o' ^8 V
delaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮
/ q) m$ b" ?6 h$ U# I; n- ]
notifempty如果是空文件的話,不轉儲
" x1 P' n0 M: |1 a
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
- ]; _5 `8 v/ O) h, s" f
sharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件)
6 w. p4 g2 K( S& ^$ I& ]1 |# k1 n
postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行
. t6 L. Z; g8 ~* H
2 ^$ @1 @; ?) t2 {: u5 N
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
- w0 V5 N$ ^+ E& N: W/ U4 `( S1 U
/etc/cron.daily/logrotate
* b4 z, T8 ^, P' L- j z. R: }" ~
! ~# {, u/ l( O# W* b
要測試寫好的設定檔可以用以下命令:
; E! \! y" `- @: E3 l
sudo logrotate -vf /etc/logrotate.d/your-conf-file
1 x" t- d: q% V
5 |$ E/ P+ f" B: }2 D0 X& J
! V& v$ q- {; _4 C
$ {: i7 z2 b5 \- m9 Y9 g
註:
7 C4 E: u2 f% n
參考:
https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html
, m8 s6 M8 K8 d7 e+ H% ?4 r
( y5 K5 C+ y e9 P
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/)
Powered by Discuz! X3.2