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

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

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

[複製鏈接]
發表於 2016-11-3 16:51:30 | 顯示全部樓層 |閱讀模式
tid=50612& 本帖最後由 IT_man 於 2016-11-3 21:24 編輯
# t; |0 ]7 _. F6 `) J! z% C" w
8 m: U" o; l) ]2 M, RCentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.0 @" g1 v9 n7 `( x( v6 G
找了google才發現原來缺少了/etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.
0 V: g# w6 E) m0 p% N" _於是乎我從別台server複製過來,搞定.  f9 M1 ~/ J# {

) n( `5 U3 J0 L0 w  s

  P$ N' d' x: h6 _, D! N9 w9 B1 H6 |( V1 i' S/ H/ w
以下說明日誌管理服務logrotate運作原理:
* z  Y. D+ ?3 G
, \$ k% Y8 f! t% x) w, e$ \. y" N: r
1 z! X+ v- Z) N5 \# V4 T. }% B
因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx
3 C; p) s6 R) j2 [  b, `/var/log/nginx/*.log { ) z6 H4 Q! i9 L) {' V- {: d
        daily
: ~& X2 ]1 j/ _& \        missingok
$ \: m$ g, }- D+ }: R1 Z! J        rotate 52 # ]* l  t( o+ M/ ?) g6 l# D. O# e
        compress 4 _: a5 q1 g4 ?# n
        delaycompress . A- i8 B: h- |' U7 m8 w
        notifempty & h! A9 G; q# `) r
        create 640 nginx adm
$ a) z! @$ e, P* P( r/ ?* x$ e5 e' j        sharedscripts
* q1 q# t2 ^9 ]9 ^0 Y; r        postrotate , _/ n* x: O8 c; G$ b8 p0 [
                [ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
7 z& ^: d% j$ f  Q  U        endscript ( [1 K$ R8 E0 E1 w: x0 z
}
5 R2 n# b0 G0 X1 J: H6 }+ |. ALinux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌.
: x3 j' X+ O8 k8 F
" q1 s, b/ Z: }/ K& l: q

8 r8 k$ f9 K6 g5 w/ A' h0 D7 |配置說明: 6 Z% i, J, n7 X8 @/ K  g6 w- j
daily:日誌文件每天進行滾動
! v* o' K8 G: l! }8 ?! T: mmissingok:如果找不到這個log檔案,就忽略過去
+ P9 r% U0 ?  {5 W0 frotate:保留最近52次滾動的日誌 # }+ G$ B, G' E+ Q6 h# R- z- B. X
compress:透過gzip壓縮轉儲以後的日誌
( u2 L2 g" |7 C2 x0 V2 k: mdelaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮
! G/ t7 i, m% Q$ g/ e( b4 ]notifempty如果是空文件的話,不轉儲
- F6 b  v& q8 D/ n0 C6 B; T8 u) Qcreate mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
( o9 [, F( Q+ F5 X2 c& V  Tsharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件)
6 _  Y. ?6 y. S. ]postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行
8 Q; _  J! P0 [" }; a/ S" z# N3 I4 e$ Q) J9 U* |( m0 X! D/ f% W
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在: - n# o0 X$ s$ ]  [, a* P
/etc/cron.daily/logrotate
* u% J/ w# ~2 D8 q2 z

: x* q4 v; h3 Y' u! Z! ]要測試寫好的設定檔可以用以下命令:
" K. s2 T- S$ t3 s9 I/ @sudo logrotate -vf /etc/logrotate.d/your-conf-file
0 ^+ F  W  w' e2 `' i. s
8 d! H, C9 C- E

6 v# w. l* s! E3 w# k6 e

1 ~' ~( ]0 m6 x" L2 ?註:! ?, D$ x& u4 C. v
參考:  https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html% w$ E5 v. p% u( a' c% |3 _

2 `" R, a% A+ F  x" ?3 F! u; o, o! Q5 f
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2024-12-25 14:12 , Processed in 0.071140 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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