天天看點

AIX5.3下nohup日志分割

一.原因

随着網站的通路越來越大,weblogic産生的日志檔案也會越來越大,如果不對日志進行分割,那麼隻能一次将大的日志整個删除,這樣也丢失了很多對網站比較寶貴的資訊,因為這些日志可以用來進行通路分析、網絡安全監察、網絡運作狀況監控等,是以管理好這些海量的日志對網站的意義是很大的。

而且如果不将日志進行分割,将導緻日志檔案變得很大,無法通過文本處理工具進行處理,影響出問題後的分析工作。

而且當nohup.out檔案大小達到1073741824bytes(即1GB)後,就無法再增長,導緻無法取得新的日志資訊。

Weblogic隻會對newtax日志自動分割,并不會處理nohup.out日志,但我們的系統的關鍵日志輸出是在nohup日志中。

二.方案

通過每天晚上11:30分自動處理,将當天的日志檔案轉移到/bea/logs目錄下,并清空原來的nohup.out日志。這步操作不會影響到weblogic的正常運作,同時由于每天的nohup日志檔案目前就能達到接近700M,如果直接儲存,将非常占用系統存儲。是以采用自動壓縮處理,經過測試,原本剛好1個GB的檔案經過gzip壓縮後大小為71.94M,壓縮效果是非常好的。

三.測試

在135上用目前時間加五分鐘測試成功。

四.實作

1.轉儲壓縮腳本

#!/bin/ksh

TODAY=`date -u +"%Y%m%d"` 

#該處是Tab上方的“`”鍵,不是單引号。

/usr/bin/gzip -c /bea/weblogic/Oracle/Middleware/user_projects/domains/domain_wwbst/bin/nohup.out>/bea/logs/nohup${TODAY}.out.gz

> /bea/weblogic/Oracle/Middleware/user_projects/domains/domain_wwbst/bin/nohup.out

把該腳本上傳到所有伺服器的/bea/shells下

然後執行chmod +x /bea/shells/nohup_save.sh

2.在每台伺服器上進行以下操作:

①增加crontab定時計劃

②crontab –e

加入一行 30 23 * * * /bea/shells/nohup_save.sh

③執行mkdir /bea/logs

五.驗證

1.2011.10.19檢查所有機器的/bea/logs目錄,生成了nohup.out.20111018.gz

2.檢查nohup.out日志是否清空并在增長

3.壓縮的檔案解壓後正常

繼續閱讀