定时清理过期日志脚本

定时清理指定日期以前的日志文件,防止磁盘满

这里是如果/home下磁盘使用超过85%,则清除15天以前的,如果仍超过85%,则清除14天前的,直到低于85%

 

#!/bin/bash

clean()
{
  local interval=$1
        find /home/admin/apache/logs \( \( -name "*access_log" -or -name "*error_log" \) -and -ctime +$interval \) -print -type f -exec rm -rf {} \;
}

getsize()
{
        local size=`df -h | grep "/home" | awk '{print $5}' | tr -d '%'`
        return $size
}

getsize
declare -i use=$?
declare -i tag=15

echo "**cleanlogs start@`date +%D` ..."

while [ $use -ge 85 -a $tag -ge 0 ]
do
        echo "**usage: $use%, cleanup: $tag days"
        clean $tag
        getsize
        use=$?
        tag=`expr $tag - 1`
done

getsize
use=$?

if [ $use -ge 85 ]
then
        echo "cleanlogs failed, usage: $use%" 1>&2
else
        echo "**cleanlogs done, usage: $use%."
fi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值