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

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

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

[複製鏈接]
發表於 2016-11-3 16:51:30 | 顯示全部樓層 |閱讀模式
tid=50612& 本帖最後由 IT_man 於 2016-11-3 21:24 編輯
& C  _/ b: Q* [$ {  m0 L8 P- j0 t
) F- m3 v2 w$ J8 v5 R9 ACentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.$ H( L3 }/ b( p+ [7 d1 G- k
找了google才發現原來缺少了/etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.
+ D  q$ p+ c7 I0 B" z' Y' R$ S於是乎我從別台server複製過來,搞定.
# u, |1 v$ r, A% l6 @5 |! d/ _- y9 T
& Q$ J5 q" z7 F6 C5 O
4 _- B% P. U  ~+ s
以下說明日誌管理服務logrotate運作原理:
3 c, O1 c8 a- t. D3 G0 {
$ G3 \  h: x$ T& e7 j6 o, p  `
. C) \; c% G6 `% H
因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx
( V2 O5 d$ M5 h' b7 s/var/log/nginx/*.log { ) q! Z+ t4 @$ C, ]" ]% Q1 T2 J
        daily
. [/ {$ ~0 f5 A; V3 q        missingok ) I. T2 n: o8 o: o8 r
        rotate 52
. R) C* T$ K1 T* Z" }0 o9 ~& P        compress ; |% v3 n5 E# G, |  `0 q) i
        delaycompress 2 z5 b( |/ ^' S" M! K- e7 L2 i
        notifempty
; U) Y3 |* i+ D; }& l4 s        create 640 nginx adm
/ j* M/ m! Q. T9 V3 n" K        sharedscripts 9 K# n# z& @) L; e: [
        postrotate 6 ]# T( T% v. |* a$ Z9 o
                [ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid` 1 U" T2 f( N2 t# W
        endscript
, x0 j# y+ d9 z/ s} # ?7 H# T( Y. p! m
Linux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌. - I9 A2 h; [( J7 l) ]& M- N: }1 }7 u5 |

+ }# p1 j* X. S( F
# `9 T7 v( T9 P8 z, Z/ {) X
配置說明:
$ C  U3 y* ]4 L3 T) fdaily:日誌文件每天進行滾動
4 X- j. N- V- R4 x' C) B0 ^5 ymissingok:如果找不到這個log檔案,就忽略過去 : r8 w) n0 X" U
rotate:保留最近52次滾動的日誌 2 ]% M0 g' y+ J! ~
compress:透過gzip壓縮轉儲以後的日誌
+ J  ^: X9 @: G+ r/ u- Bdelaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮
* h& m* O2 W3 j! z# c6 K4 K% Qnotifempty如果是空文件的話,不轉儲 2 w% y. ?5 H" H8 A. L: J
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
& m2 C5 b. e& Z' A8 _: z) t7 N. ~" wsharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件)
# d% _9 ?3 R1 I- D) w+ c& c1 @postrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行 ( R+ m2 ], m- Y" z) g! a
2 I, _5 W) j- S' ^! T# m
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
, W; Z5 z% l" j/etc/cron.daily/logrotate
+ H1 L2 f: S* B1 A- \4 J4 g; ~

# \: ]; r6 X& y1 {2 i4 }要測試寫好的設定檔可以用以下命令:: Z9 n6 K- ?: N' R
sudo logrotate -vf /etc/logrotate.d/your-conf-file
* t5 _, V. k# [' t# w8 i- L$ u

. M' H  O- n2 a) r( ]" o
0 J: H4 _+ p' }; H* o- K4 P0 a0 g

3 `" s: H) N8 y6 E# M註:
3 N, j8 Y* Y; r3 b6 W0 h參考:  https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html
3 @% ?, y  S; F3 a7 B$ v. E# T) k* \8 }4 O) l' A
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2026-3-23 18:23 , Processed in 0.092185 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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