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

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

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

[複製鏈接]
發表於 2016-11-3 16:51:30 | 顯示全部樓層 |閱讀模式
tid=50612& 本帖最後由 IT_man 於 2016-11-3 21:24 編輯
2 F7 h; H0 E% n$ r  k0 `4 w$ N! u1 s/ b) m: |* D! f3 {
CentOS下nginx的log檔放在/var/log/nginx,但查看卻沒有被自動切割並壓縮.
: Z; V% b" l% {* s  e3 B- Q找了google才發現原來缺少了/etc/logrotate.d/nginx檔,照理安裝nginx時應該會自動產生此檔,為何我的不會自動產生,可能是安裝時出了差錯.
2 E8 y4 ^- I8 @於是乎我從別台server複製過來,搞定.3 n4 P  x6 z0 |+ b

% p' J0 M( ^% c- C9 U8 s

6 l) o8 c1 d& _5 G" l/ m! M: M
! t2 u2 P6 s1 i8 y: u) |8 }
以下說明日誌管理服務logrotate運作原理:
- R5 t2 r+ Q3 |; Z$ @( l! A/ w9 J" f* t$ |  J2 a5 K

9 s6 ]# k1 b  ?  K- }; C' Z5 X6 K因為Nginx在安裝時加入了一個logrotate任務: /etc/logrotate.d/nginx
* M- H' c, ~3 X+ x8 z" s/var/log/nginx/*.log { ! C/ j3 H+ T2 J+ A7 a  L/ ]# ^
        daily 6 b/ g" A* f  r- q+ g( e
        missingok 4 |4 F1 f- ^9 P9 k( K, a
        rotate 52 7 ~/ @* V6 c# U5 k+ K. t
        compress
$ q% B# _" F2 z; p- H  N        delaycompress
2 m3 f4 A2 c+ P' n! h( s        notifempty
& b7 u; d! k' }        create 640 nginx adm
$ l* e3 S& V. P$ S' w+ n        sharedscripts
$ x: B4 Q$ k# i        postrotate : }9 L- ]+ d8 r& h& h0 E: d
                [ -f /var/run /nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid` , B- V- w, [. F0 W
        endscript
& x2 n- u  Y: q& Z# [7 {/ d  [( V3 F} ! j6 A: _- _2 I2 |5 f* H) d
Linux日誌管理服務logrotate會定時讀取該文件,根據設置按日誌大小或天數刪除/歸檔舊日誌,建立新日誌. 3 K) J% h6 ]7 d! l) d3 M
: z/ P( X5 R5 B$ L2 l

1 d4 s1 b9 b) j* C7 j配置說明:
# l) ^" ]4 I: h* U  pdaily:日誌文件每天進行滾動 - C$ W' {8 ^# f- l& ^% e
missingok:如果找不到這個log檔案,就忽略過去
+ m5 P$ I% n1 ~) J9 `/ R  krotate:保留最近52次滾動的日誌
. [& Q: e# h0 scompress:透過gzip壓縮轉儲以後的日誌 ! N5 }: w( S& M9 F) a4 N+ h& d% F' j
delaycompress:和compress一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮
: @! Q  O& B. Dnotifempty如果是空文件的話,不轉儲
! w2 Y9 f3 M2 d  a' Z: K7 Pcreate mode owner group:轉儲文件,使用指定的文件模式建立新的日誌文件
& X, ~. I( i3 W( F4 xsharedscripts:運行postrotate腳本(該腳本作用為讓nginx重新生成日誌文件)
- M# T3 z; f) K( `+ v/ @% Q8 k* Rpostrotate/endscript:在轉儲以後需要執行的命令可以放入這個敘述對據裏,這兩個關鍵字必須單獨成行
9 O- T& y/ ^. v3 R* u2 F; T7 {4 H% c3 `; ?, J4 R
logrotate預設被加入到cron的/etc/cron.daily中作為每日任務執行,配置定義在:
3 b' A& h: K% j) C7 A! q. a1 l- @/etc/cron.daily/logrotate

  ]( o. v* A% q! x1 y

0 e8 N; L, I2 ?3 G要測試寫好的設定檔可以用以下命令:
8 s" z/ `+ b7 o3 p% T  Y1 Q# U  Rsudo logrotate -vf /etc/logrotate.d/your-conf-file

0 g  v! F5 z) B; u
/ X: g, j$ ?7 I4 n! Q

: P9 b, X$ l( n3 s

( q) [/ D6 [) b3 x5 q! y* z8 s+ L6 r註:
0 ], ~* G" H5 `. A參考:  https://blog.toright.com/posts/4 ... AD%B8%E6%AA%94.html
: `: p$ o- Y$ `$ c! K& O1 m( [
4 V+ T" z$ G% S, }: {
回復

使用道具 舉報

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

本版積分規則



中文酷站排行榜

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

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

GMT+8, 2024-10-29 04:33 , Processed in 0.144382 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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