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

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

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

[複製鏈接]
發表於 2016-11-3 16:51:30 | 顯示全部樓層 |閱讀模式
tid=50612& 本帖最後由 IT_man 於 2016-11-3 21:24 編輯
, I- O0 [4 t8 C* e0 Y) n9 l  l
CentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.. J& ]6 F$ d& L* x: E' P0 g1 ?
找了google才發現原來缺少了/etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.3 v; i4 A% A; ?# m
於是乎我從別台server複製過來,搞定.
; e/ V; I3 A  @9 S) |# W: L9 I5 m# y+ n0 d0 }- C& a

* V/ R+ O1 g8 @9 X7 x9 N% d9 Q5 p6 T
以下說明日誌管理服務logrotate運作原理:
& ?/ g4 \7 k, v4 _9 B; J) W: F' s' a7 N9 S3 N+ `1 s+ T

' i* p! s+ |" c# _. f7 R4 G因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx , X7 [4 _- l( p# a, Q
/var/log/nginx/*.log {
; G+ k& Q& j8 o; J; u5 i. d        daily
1 B1 p) V; D2 q$ i        missingok ( D3 h& \# h4 k$ h! K  M2 C4 x
        rotate 52 ; q' v: _( G4 j0 K* O" `8 |
        compress & z- l" a/ v5 b
        delaycompress 7 |, v/ T- k8 ~" e) C$ P7 H) c
        notifempty " {) S3 f/ d7 n( O( J% N- ]5 P3 F
        create 640 nginx adm 9 \' i4 W+ z/ h. q  p2 [
        sharedscripts
8 m# f- ~* u2 i2 f) d2 b        postrotate ! y( \- f, G2 ?% B) X8 F& A
                [ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`
$ t6 S' I0 ]4 F3 V% r+ ^        endscript
5 O6 l" Z7 v+ ~8 q) \' }& e# |} ) t0 E! V' g  ]
Linux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌. 1 o  J) U% ]; S  H2 k" {
' C( J7 |4 [  K" T! I* g

9 a6 q8 k( \, A7 V% L配置說明: - L" j! r6 }- E: Q* n/ }( F3 B2 m( W; I
daily:日誌文件每天進行滾動
8 w! V1 R+ L! F$ fmissingok:如果找不到這個log檔案,就忽略過去 / l+ I1 U) l; [7 d( b' x
rotate:保留最近52次滾動的日誌
2 }8 ~. H6 V# n# ^6 r$ F4 ?+ E( e! d! B. Wcompress:透過gzip壓縮轉儲以後的日誌
4 Z! @0 P1 O6 \. U! e- e! }delaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮 9 U( X7 N$ v. P9 D
notifempty如果是空文件的話,不轉儲 $ B" u' b) J1 B+ k& [
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
3 U) A8 j4 q  e( M. r) c8 esharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件)   a& _8 }( o' }& r% h
postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行 : ~% Y; w" i3 l" K) W
1 a% i( `7 j7 \% U/ o4 T, a3 f
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
) B! ?7 m+ X$ ^, U9 W$ p/etc/cron.daily/logrotate

6 f4 |/ s* H/ a- Q( R8 @: y$ g. ]7 N
5 q0 q( M3 _6 @9 w
要測試寫好的設定檔可以用以下命令:+ O, u1 M0 T  K; i* j) ^* h
sudo logrotate -vf /etc/logrotate.d/your-conf-file

$ A+ `; K( S% M/ ]
9 C( d  o* q2 `0 D
! j- b6 g! o: E1 v% H) V: y! W2 ?

+ N8 p: Z4 w+ O8 y3 G, T- K/ y註:7 `) h" A1 m( j* e: Q3 j% i* _) z* Y' C
參考:  https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html) A  Q0 d9 ?  Y3 ^3 w, A

% [% c" d6 P+ U' ]0 t# R# f8 a
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2025-4-4 21:53 , Processed in 0.097950 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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