使用shell指令碼清除日誌的策略

2021-10-02 18:10:11 字數 1313 閱讀 8743

#!/usr/bin/env bash

file_path=

"/***/***"

#日誌路徑

file_size=

$(du -m $

|awk'')

#日誌路徑下的檔案大小

default_size=$[35 * 1024]

#預設乙個ip日誌檔案的總量為35g

over_size=$[

$/$]

#現有的檔案總量是35g的倍數

flag_size=$[$[over_size]

== 1 || $[over_size]

> 1]

#如果等於1,則達到35g,flag為true,則為1

file_count=

$(ls -l $

|grep

"f*"

|wc -l)

#日誌路徑下的檔案個數

default_count=150 #預設乙個container的所有的流的日誌檔案個數為150

over_count=$[

$/$]

#現有的檔案個數是預設檔案個數的倍數

flag_count=$[

$>= 1 ]

#判斷檔案個數是否為150個,超過將最早的日誌檔案刪除if[

$== 1 ]

;then

# 判斷日誌總量超過預設值

# 清除時間最早的日誌

file_name=

$(ls -rt $

|head -1)

echo$if

[ -n "$file_name"];

then

echo$$

rm -rf $

$echo

"清除的日誌為:"

$else

echo

"不存在檔案"

fielif[$

== 1 ]

;then

# 判斷日誌檔案個數超過預設值if[

$!=$]

;then

del_num=$[

$ - $

] file_names=

$(ls -rt $

|head -$

) echo

"清除的日誌為:"$cd

$rm -rf $(

ls -rt $

|head -$

) fi

else

echo

"日誌大小為: "$[

$/1024]

"m"fi

shell指令碼實踐清除日誌

在生產環境中日誌是運維人員了解和分析生產環境的第一手資料,但是日誌資訊的內容量相當龐大,特別在公有雲環境中執行的業務系統,一般系統盤在20g 40g左右,如果沒有合理的日誌管理方案,很容易出現儲存空間不夠的現象,總結了以下幾種日誌處理的簡單方式,作為自己的實踐筆記,同時和大家一起交流學習。1 部分日...

shell指令碼定時清除日誌檔案

bin bash clearfile 獲取資料夾內,檔案大小 m為單位 和檔案路徑 呼叫clear函式清空檔案 clear filesizeandfile clear echo 檔案大小 filesize echo 檔案路徑 filepath echo 磁碟空間 disksize 獲取檔名 file...

清除tomcat日誌檔案的shell指令碼

bin bash d date f exec mydata script logs d tomcat log 2 1 echo 開始執行清除tomcat日誌檔案 find titakid tomcat7 logs mtime 10 name out exec rm rf if eq 0 then e...