lalalalog

#!/bin/bash

export LANG=zh_CN.UTF-8

base_log_path="/opt/applog"
part=$(date +%Y)
declare -A apps_map=(
    [dubbo]=60
    [logs]=7
)

compress_log() {
  local path=$1
  local part_name=$2
  local files=$(find "$path" -type f -name "*$part_name*" -print0 2>/dev/null)
  if [ -n "$files" ]; then
    while IFS= read -r -d '' file; do
      if [[ "$file" =~ .gz$ ]]; then
        continue
      fi
      echo "compressing $file"
      gzip -9 "$file" || echo "Error: Failed to compress $file"
    done < <(echo "$files")
  fi
}

for key in "${!apps_map[@]}"; do
  local app_key=$key
  local expired_time=${apps_map[$key]}
  compress_log "$base_log_path/$key" "$part"
  find "$base_log_path/$key" -type f -mtime +$expired_time -print0 | xargs -0 -r rm -f
done
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容