一個簡單的shell指令碼:weblogic日誌按天生成(日誌壓縮)
阿新 • • 發佈:2018-12-16
編寫目的:
在實際工作中,由於生產環境在出現問題的時候,中介軟體服務會出現大量的報錯日誌,若日誌增長量極大的情況下,會出現磁碟空間被寫滿的情況而導致宕機,為了防止此情況出現,編寫如下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了,第二天在巡檢時,可以進行檢查是否日誌已經進行了壓縮,若出現如下情況,說明定時任務執行成功。