«

监控日志文件,当日志文件达到指定最大大小的时候自动清空的脚本

时间:2024-2-21 13:17     作者:韩俊     分类: Linux


脚本代码如下:

#!/bin/bash

#当监控的日志文件大小大于指定的大小的时候,自动清空对应的文件内容
#nginx 访问日志限制 90MB
accessMaxSize=94371840
#nginx 错误日志限制 60MB
errorMaxSize=62914560
#php 错误日志限制 20MB
phpErrorMaxSize=20971520
#diary 项目的日志文件限制 60MB
diaryLogMaxSize=62914560
#www.maopiaopiao.com 项目的日志文件限制 60MB
phpernoteLogMaxSize=62914560

size=`ls -l /home/www/nginx_access.log | awk '{print $5}'`
if [ $size -gt $accessMaxSize ]; then
    echo ''>/home/www/nginx_access.log
fi

size=`ls -l /home/www/nginx_error.log | awk '{print $5}'`
if [ $size -gt $errorMaxSize ]; then
    echo ''>/home/www/nginx_error.log
fi

size=`ls -l /home/www/php_errors.log | awk '{print $5}'`
if [ $size -gt $phpErrorMaxSize ]; then
    echo ''>/home/www/php_errors.log
fi

dir='/home/www/diary/logs'
for i in ${dir}/*; do
    if [ -f $i ]; then
        size=`ls -l ${i}|awk '{print $5}'`
        if [ $size -gt $diaryLogMaxSize ]; then
            echo ''>$i
        fi
    fi
done

dir='/home/www/www.maopiaopiao.com.log'
for i in ${dir}/*; do
    if [ -f $i ]; then
        size=`ls -l ${i}|awk '{print $5}'`
        if [ $size -gt $phpernoteLogMaxSize ]; then
            echo ''>$i
        fi
    fi      
done

标签: linux

热门推荐