linux 日志定时清理脚本

工作中经常会碰到服务日志占满服务器磁盘,如果不去清理,服务就可能无法正常工作。适当提高日志的打印级别,如info级别提高到warn可以临时缓解下,但也不长久之际,

还得写个脚本定时清理下。

 

  1. #!/bin/bash  
  2. #clearLog.sh  
  3.   
  4. nginxDir=/usr/local/nginx/logs/*  
  5. devInfo=($(df -l | awk '{print $1}'))     #日志所处的磁盘  
  6. perInfo=($(df -l | awk '{print int($5)}')) #磁盘使用率  
  7.   
  8. for i in `seq 0 ${#perInfo[@]}`;  
  9. do   
  10.    if [[ ${devInfo[i]} = '/dev/xvda1' ]] && [[ ${perInfo[i]} -ge 80 ]];  
  11.    then  
  12.         
  13.      for file in $nginxDir;  
  14.      do  
  15.          exist=`echo $file | awk '{if(match($0,/\.log/)) print "yes"}'`;  
  16.          if [[ -f $file ]] && [[ ${exist} = yes ]];  
  17.          then  
  18.            echo '' > $file;  
  19.            echo $(date) $file "clear log ok!" >> /var/log/clear.log ;  
  20.          fi;  
  21.      done  
  22.    fi;  
  23.      
  24.    
  25. done 

 

确定日志所处磁盘的使用情况,一般使用率达到80%就可以进行清理了。

接着起个定时任务:

crontab -e

输入:

0/30 * * * *  /xxx/clearLog.sh

每隔30分钟检测一次磁盘使用情况

转载于:https://my.oschina.net/u/3074507/blog/885806

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值