1. 程式人生 > >一個簡單的shell指令碼:weblogic日誌按天生成(日誌壓縮)

一個簡單的shell指令碼:weblogic日誌按天生成(日誌壓縮)

編寫目的:

在實際工作中,由於生產環境在出現問題的時候,中介軟體服務會出現大量的報錯日誌,若日誌增長量極大的情況下,會出現磁碟空間被寫滿的情況而導致宕機,為了防止此情況出現,編寫如下shell指令碼進行規避此問題。

注意:

<一>本例已weblogic的後臺輸出日誌從節點nohup.out為例,主節點已AdminServer.log為例,也想做此操作的親請自行修改你本地的日誌路徑及名稱!! <二>確認伺服器上已安裝gzip命令內容

(1)建立主節點日誌壓縮指令碼

vi adminlog_save.sh

1.編輯如下內容到檔案:

#
#by  skyfans    20160808
#
#!/bin/bash
TODAY=`date -u +"%Y%m%d"` 
/usr/bin/gzip -c /app/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin/AdminServer.log>/app/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin/AdminServer${TODAY}.out.gz
> /app/weblogic/Oracle/Middleware/user_projects/domains/base_domain/bin/AdminServer.log

2.儲存並退出檔案編輯。

3.執行測試。

sh adminlog_save.sh

(2)建立從節點日誌壓縮指令碼

vi nohup_save.sh

1.編輯如下內容到檔案:

#
#by  skyfans    20160808
#
#!/bin/ksh
TODAY=`date -u +"%Y%m%d"` 
#nohup_save.sh
/usr/bin/gzip -c /root/Oracle/Middleware/user_projects/domains/base_domain/bin/nohup.out>/root/Oracle/Middleware/user_projects/domains/base_domain/bin/nohup${TODAY}.out.gz
> /root/Oracle/Middleware/user_projects/domains/base_domain/bin/nohup.out

2.儲存並退出檔案編輯。

3.執行測試。

sh nohup_save.sh

(3)測試後出現如下情況說明指令碼執行成功: 在這裡插入圖片描述

(4)新增定時任務到伺服器

crontab -e
30 23 * * * /root/shells/adminlog_save.sh
38 23 * * * /root/shells/nohup_save.sh

檢視定時任務是否新增成功:

crontab -l

在這裡插入圖片描述

到此,我們日誌壓縮操作已經OK了,第二天在巡檢時,可以進行檢查是否日誌已經進行了壓縮,若出現如下情況,說明定時任務執行成功。 在這裡插入圖片描述