码迷,mamicode.com
首页 > 系统相关 > 详细

linux 日志定时清理脚本

时间:2015-07-12 00:17:36      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:

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

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

#!/bin/bash
#clearLog.sh

nginxDir=/usr/local/nginx/logs/*
devInfo=($(df -l | awk '{print $1}'))     #日志所处的磁盘
perInfo=($(df -l | awk '{print int($5)}')) #磁盘使用率

for i in `seq 0 ${#perInfo[@]}`;
do 
   if [[ ${devInfo[i]} = '/dev/xvda1' ]] && [[ ${perInfo[i]} -ge 80 ]];
   then
      
     for file in $nginxDir;
     do
         exist=`echo $file | awk '{if(match($0,/\.log/)) print "yes"}'`;
         if [[ -f $file ]] && [[ ${exist} = yes ]];
         then
           echo '' > $file;
           echo $(date) $file "clear log ok!" >> /var/log/clear.log ;
         fi;
     done
   fi;
   
 
done

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

接着起个定时任务:

crontab -e

输入:

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

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



版权声明:本文为博主原创文章,未经博主允许不得转载。

linux 日志定时清理脚本

标签:

原文地址:http://blog.csdn.net/zhuyijian135757/article/details/46845947

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!