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

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

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

[複製鏈接]
發表於 2016-11-3 16:51:30 | 顯示全部樓層 |閱讀模式
tid=50612& 本帖最後由 IT_man 於 2016-11-3 21:24 編輯
' T$ h: Y/ c9 Y* c' X! U2 J
1 h( w  ?- Y4 R! j' }9 z" q* h' HCentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮./ K+ l! u& I6 u" J8 T- {  p
找了google才發現原來缺少了/etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.
2 q) j: ]% M5 a+ R* s' j/ V1 M) k於是乎我從別台server複製過來,搞定.) S8 s: r/ O7 X. M" |% H
% f& x( P! H4 X6 e+ i
' S+ K% r- t# q* k
" L) S) Q/ f6 B
以下說明日誌管理服務logrotate運作原理:6 J% x; D9 C0 \4 x4 z3 l1 }
/ n3 Q) u' h7 }5 z+ F( V' j
3 }% Z# c0 c0 M
因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx ( e$ e$ S, X* _# j% y
/var/log/nginx/*.log { 9 l  s: }: z) C3 N# Q
        daily * E2 w; s; H4 W' Z/ c, n
        missingok $ q# p$ U% N' D: [" |" j; U
        rotate 52
, _2 D/ y7 r/ k' ~1 L1 Y        compress 4 S; H& z! y8 c' ^, \% ^2 q
        delaycompress
! s7 n$ F( t2 ]2 e$ U+ T        notifempty
5 H6 M, _6 K, v+ x( K        create 640 nginx adm
$ t  |7 I; Q8 y& K; D, Q) @" p3 ^- v* Q        sharedscripts $ U( _  v- h7 e( Q; x! u( x
        postrotate
, A) a- [2 s+ T8 F& u                [ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid` 6 |, g5 o) k( C- C" C" q6 B
        endscript / `" ?# `) B0 A/ A- r9 h) G
} . S. y5 U9 H6 r
Linux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌.
( t7 y: D; w  |1 {  a) o/ I: ?; z; Q, [( P3 F7 n6 I
( ?" E8 X0 R1 b6 A, S; k
配置說明:
2 [% B# b/ H4 ?daily:日誌文件每天進行滾動
" k7 [# V( N. b) L" Bmissingok:如果找不到這個log檔案,就忽略過去 % R1 ?0 @, q# N8 w" r
rotate:保留最近52次滾動的日誌 ' ~/ K. O+ J- D7 s  V
compress:透過gzip壓縮轉儲以後的日誌
% g5 v% H5 e0 d! L1 h5 Rdelaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮 ; u  r, P* W9 _- }# A4 a
notifempty如果是空文件的話,不轉儲 8 Q! @' ?; u2 {
create mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
& X" v+ \, q5 V/ Y$ P7 bsharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件)
/ B1 Q3 |# Q; T0 \* E. T7 q+ `! npostrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行 1 B0 x+ x* O! h/ w* A! F1 j7 g
$ |6 u/ P5 J: N. Z
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
; m" v1 i" q0 ~+ ~8 C1 y/etc/cron.daily/logrotate

% w9 q& s# F4 s6 ]8 h. |! ~

0 X6 Q. ?! w8 Y. P要測試寫好的設定檔可以用以下命令:
+ k3 [5 y$ s, ksudo logrotate -vf /etc/logrotate.d/your-conf-file

* c9 W4 \$ F9 H9 p9 \
; g; N' c# H6 k5 J1 W

& p; B. k  D9 D, I1 J6 B
  S- q6 U: I6 t3 L. A
註:1 X6 p0 |+ B& B7 _5 ]0 P
參考:  https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html) e" U3 l/ [6 A+ d! P; C) q
6 N! A( X5 q3 G5 M/ F8 ~8 N" j
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2024-12-25 14:54 , Processed in 0.068772 second(s), 17 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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