清除一周日志

本文介绍了一款用于自动化清理微服务日志的bash脚本,该脚本能够遍历指定的日志根目录,判断并删除一周前的旧日志,有效释放存储空间,提升系统维护效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash
#file name      :auto_clear_log.sh
#function       :清除一周前各个微服务的日志
#version        :V 1.0


#日志跟目录
log_root_path="/data/logs/tomcat"
#设置日志保留日期,七天内日志保留
last_date=$(date -d '7 days ago' "+%s")


echo "hello!${last_date}"


#获取文件的change时间
get_file_change_time(){
  echo $(date -d $(stat ${1}  |grep Change |awk '{print $2}') '+%s')
}

#判断是否可删除,可以就删除
judge_can_del_then_do(){
  file_change_time=$(get_file_change_time "${1}")
  #比较日期,早于指定日期则删除
  if [ ${file_change_time} -gt ${last_date} ]; then
    echo "==近7日=》${1},chanageTime:${file_change_time}" >> ./test.log
  else
    echo "==7日前=》${1},chanageTime:${file_change_time}" >> ./test.log
  fi
}

#遍历文件
traversal_all_file(){
 for f in $(ls ${1}) ;do
   if test -d "${log_root_path}/${f}" ; then
     echo "文件夹:${1}/${f}" >> ./test.log
     traversal_all_file "${1}/${f}"
   else
     echo "文件:${1}/${f}" >> ./test.log
     judge_can_del_then_do "${1}/${f}"
   fi
 done
}


traversal_all_file "${log_root_path}"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值