定期处理日志限制日志行数

某个目录日志文件越来越大,定期将日志清理掉,以免撑爆服务器。

另外写日志时精简,去掉不必要的日志;

limit-log.sh:控制日志的行数,超过就删掉之前的。

[monitor]$ more ~/bin/limit-log.sh 
#/bin/sh


function limitlog(){
  local logfile=$1
  local maxline=$2
  linecount=`/usr/bin/wc -l $logfile|awk '{print $1}'`;
  echo file:$logfile, line count=$linecount. line limit=$maxline.
  if [ ${linecount} -gt ${maxline} ];then
    delcount=`expr ${linecount} - ${maxline}`;
    echo delcount=$delcount
    sed -i "1,${delcount}d" $logfile
    echo $delcount lines deleted
  else
    echo do nothing.
  fi
}

#handle monitor.dat
date
limitlog /home/monitor/log/monitor.dat 10000000

#handle sar.log
limitlog /home/monitor/log/sar.log 20000000
#handle redisinfo.log
date
limitlog /home/monitor/log/redisinfo.log 50000000
date
echo #############################

其中 sar.log redisinfo.log monitor.dat是要限制的日志文件, 后面的数字是行数。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值