52AV手機A片王|52AV.ONE
標題:
nginx的log檔沒有被自動壓縮備份
[打印本頁]
作者:
IT_man
時間:
2016-11-3 16:51
標題:
nginx的log檔沒有被自動壓縮備份
本帖最後由 IT_man 於 2016-11-3 21:24 編輯
8 L( q$ V% j; W( u4 V
9 n N5 a3 X9 a& X0 A+ J
CentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.
, S) p( p4 l ~# g7 e8 \
找了google才發現原來缺少了
/
etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.
- |% L. T: m' U) g
於是乎我從別台server複製過來,搞定.
% ^5 D( u ]( {# r$ Q0 n a
1 p' D8 |$ H/ c8 {
" p( \' z6 B1 P4 g
& }, U6 S9 ]- W
以下說明
日誌管理服務
logrotate運作原理:
8 b; g" J7 t' E! W
( o. R4 I0 j# O
# q# V! A' y7 V1 B( Y* I' n/ G
因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx
8 X, o+ h4 G6 J! [4 L' W& @: c! ~0 r7 x
/var/log/nginx/*.log {
8 \' A% @: _3 s, `8 Z
daily
8 T N3 H' t# I# O. N* b3 E& E
missingok
- S1 j. T4 I2 t5 l* B6 s
rotate 52
9 N P; i5 X- Q5 V1 h
compress
M3 y& R; S$ J1 W# b
delaycompress
9 x( k! M c5 C, X% S" F& t" u, B
notifempty
U# E9 A6 l% X; m0 `1 k* ?* l
create 640 nginx adm
' K; n' s: I% W, e7 Y
sharedscripts
e1 a$ M S7 l( v1 K
postrotate
8 E7 z3 s9 d* I) o
[ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
4 g0 {+ E7 ` z: r/ F1 T! b) ^5 v
endscript
/ f C9 x. l5 j) F! B' k
}
6 e- N- Q; f; O; w# y
Linux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌.
$ G$ j, \8 Y/ k8 i/ z& O
: n+ a) v; ?5 g4 w8 a
) g$ _6 o, \5 u1 Q
配置說明:
3 f {/ \, g, m; {
daily:日誌文件每天進行滾動
7 D5 x' \ b# }' T
missingok:如果找不到這個log檔案,就忽略過去
7 `2 [" K4 @) O! e. G+ B8 k
rotate:保留最近52次滾動的日誌
( u9 R- _8 m4 P
compress:透過gzip壓縮轉儲以後的日誌
: z5 [& @: l( J$ }% b
delaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮
% j9 _. Z4 C- [5 k4 f' G) S- u: l6 n
notifempty如果是空文件的話,不轉儲
/ M$ D9 |, q* f- G& D, J
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
2 {" Z. O# Z' t2 t2 O& Y l5 }
sharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件)
* p5 B3 i' t/ M/ W2 A+ h' k ^7 V
postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行
# n& P5 a1 p- Y2 T! J/ o
3 a% Y5 j8 D Q- B5 A3 Y
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
" j8 R1 Q( m" P
/etc/cron.daily/logrotate
& t8 S0 r7 }' {9 n. H! ~
$ y4 Z* b1 D9 u% C- }9 f
要測試寫好的設定檔可以用以下命令:
! J$ q' @5 c/ S8 s: [2 D
sudo logrotate -vf /etc/logrotate.d/your-conf-file
; o8 v4 B+ C; x( l
4 f3 {/ S8 Q/ [6 r% ]3 b
1 ~4 w, z0 R" M, g! R
1 f+ }9 R" [& ~% b5 p
註:
8 }* R/ \; c% [% v- M
參考:
https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html
5 r4 a3 [& z" O) P ~; d
% Z& J0 j/ B" k
歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/)
Powered by Discuz! X3.2