52AV手機A片王|52AV.one

 找回密碼
 立即註冊
查看: 1510|回復: 0

[nginx|php-fpm] nginx的log檔沒有被自動壓縮備份

[複製鏈接]
發表於 2016-11-3 16:51:30 | 顯示全部樓層 |閱讀模式
tid=50612& 本帖最後由 IT_man 於 2016-11-3 21:24 編輯
2 x* X% k) A& Q& @0 l& U6 p/ C
8 e# x- h% V+ A' \. x1 h. Y  ~' GCentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮./ l8 f% q' e3 u7 a# O( s8 l
找了google才發現原來缺少了/etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.
8 @- |: n" G7 e9 p' Z) K' V於是乎我從別台server複製過來,搞定.
6 j: Z# ~( p; R% j, G' G
- ?; ]0 ~3 }: T" w! E3 M3 s
4 Y' O4 u: _* v8 _

6 x& y9 C# u) T# O2 h. F6 s
以下說明日誌管理服務logrotate運作原理:. f  L& y4 n$ J4 a8 i/ _, \" N/ \
) A* I& f9 J; L3 a; C) G6 _

  u# \9 g. G  a3 x+ F# b/ p因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx
+ W* m' y8 c, @$ [* d' C% M3 |/var/log/nginx/*.log {
' u9 K2 U1 Y) Y0 T+ U        daily ' N' ]) R% V# k  e+ X5 Q
        missingok , u$ a4 }: E4 }
        rotate 52 ' e% x9 Y- {1 ~# X+ J3 C3 s2 O7 d
        compress
8 m- w' u2 a) v& A: O        delaycompress
, W% p$ G/ s& E: E; J* p        notifempty
. z% r6 \& W6 y7 K5 ^& M5 R        create 640 nginx adm 5 F8 [5 H  R* {, F4 k) `
        sharedscripts ( i+ ^0 c' m5 |' b$ q
        postrotate 3 r2 B0 o/ R5 J
                [ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid` - \+ |$ @8 o( e/ H& d
        endscript
8 r0 f$ d, `0 k, Q' z9 Y& L  d, u8 j} 9 F2 A: y- H/ B0 f  F7 N, J2 B
Linux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌. : ~: Q, H& [, w$ X1 h6 [! X+ R+ I* r

1 V) n2 o1 K+ X6 X
$ o" n. n3 y; N6 d) E
配置說明:
" }$ E) m: ^+ M& ~daily:日誌文件每天進行滾動
, u4 b$ n( a2 I( A6 A' Omissingok:如果找不到這個log檔案,就忽略過去
; F5 v, ]: h5 Z4 {6 L+ \rotate:保留最近52次滾動的日誌
+ Q3 o3 K) Y  B# ?0 N% Ccompress:透過gzip壓縮轉儲以後的日誌 9 s$ V$ S( f5 M( k2 U4 w9 F
delaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮 ) [- v4 E+ i+ D! s" V/ Q
notifempty如果是空文件的話,不轉儲
: d' z  n' q" t6 c! c4 lcreate mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件 : m( Y6 Z. b% n, v# Z! j+ `
sharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件) ( D4 f/ R' i: U& n+ P$ t
postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行
4 z4 F2 D5 }8 W/ f- |4 R8 o/ V: Q% ]9 c0 ?
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
" }  |' ]3 m5 v$ N. h, i2 }/etc/cron.daily/logrotate
2 s8 y) R7 {) U7 d. T5 ]; }
8 ?( I) t* F& I( R$ T" n
要測試寫好的設定檔可以用以下命令:
6 x" ^: Z# L0 {- p' [; ?3 j/ Csudo logrotate -vf /etc/logrotate.d/your-conf-file
3 j: Y) H% D0 y- ]8 D  t
" H7 R8 L2 F( P) l: X

$ _2 f5 o7 G, f; u  }- R3 m

" b+ G; `3 a5 s6 a' |3 z註:: C7 n. F. y+ {
參考:  https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html5 f6 p) Z3 ^$ @' ]( y; ], G
1 o2 O, T$ V+ W. [8 I
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則



中文酷站排行榜

本區塊內容依據『電腦網路內容分級處理辦法』為限制級網站,限定年滿18歲以上或達當地國家法定年齡人士方可進入,且願接受本站各項條款,未滿18歲 謝絕進入瀏覽。為防範未滿18歲之未成年網友瀏覽網路上限制級內容的圖文資訊,建議您可進行網路內容分級組織ICRA分級服務的安裝與設定。 (為還給愛護 本站的網友一個純淨的論壇環境,本站設有管理員)

QQ|小黑屋|手機板| 52AV手機A片王

GMT+8, 2026-2-4 06:25 , Processed in 0.075664 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回復 返回頂部 返回列表