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, }: { |