From da7fe8c6734bf330007e3f9fe5083c1b921ca727 Mon Sep 17 00:00:00 2001 From: liangxia Date: Mon, 2 Sep 2019 10:18:19 +0800 Subject: [PATCH] =?UTF-8?q?Add=20=20aaa-12=20=E4=BF=AE=E6=AD=A3=E4=BB=85?= =?UTF-8?q?=E5=AD=98=E5=9C=A8=E5=8D=95=E4=B8=AA=E6=97=A5=E5=BF=97=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E6=97=B6=E6=97=A5=E5=BF=97=E5=A4=A7=E5=B0=8F=E8=BE=BE?= =?UTF-8?q?=E5=88=B0=E4=B8=8A=E9=99=90=E7=9A=84=E9=97=AE=E9=A2=98=20RCA?= =?UTF-8?q?=EF=BC=9A=20SOL=EF=BC=9A=20=E4=BF=AE=E6=94=B9=E4=BA=BA=EF=BC=9A?= =?UTF-8?q?liangxia=20=E6=A3=80=E8=A7=86=E4=BA=BA=EF=BC=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- libs/files/deal_logfiles.sh | 111 -------------------------------- libs/files/log/deal_logfiles.sh | 7 ++ 2 files changed, 7 insertions(+), 111 deletions(-) delete mode 100755 libs/files/deal_logfiles.sh diff --git a/libs/files/deal_logfiles.sh b/libs/files/deal_logfiles.sh deleted file mode 100755 index a2b04215c..000000000 --- a/libs/files/deal_logfiles.sh +++ /dev/null @@ -1,111 +0,0 @@ -#!/bin/bash - -# 本脚本功能: -# 1. 从logrotate配置文件中取出日志文件的路径(所有日志文件均以logrotate配置文件中第一行指示的路径为前缀), -# 2. 从log_sched配置文件中取出日志文件大小上限 -# 3. 计算步骤1指示的日志文件的总大小,检测日志总大小是否超出上限,若超出则删除所有日志文件 - -function deal_logs () -{ - - # logrotate配置文件路径 - logrotate_log_file="/etc/logrotate.d/log-syslog" - - #log_sched配置文件路径 - log_sched_file="/etc/log-sched.conf" - - # 日志文件前缀 - prefix= - - # 日志大小上限 - size_max=0 - - echo "**********************************************************" - echo " logrotate_cfg: $logrotate_log_file" - echo " log_sched_cfg: $log_sched_file" - echo "**********************************************************" - echo "" - - # logrotate配置文件判空 - if [ ! -e $logrotate_log_file ] ; then - return - fi - - # 从logrotate配置文件中第一行有效行中读取出日志文件前缀 - while read line - do - if [ -z $line ] ; then - continue - fi - - prefix=$line; - echo "**********************************************************" - echo " get log-file-prefix: $prefix" - echo "**********************************************************" - echo "" - - break - done < $logrotate_log_file - - if [ -z $prefix ] ; then - echo "get log file failed" - return - fi - - - # log_sched配置文件判空 - if [ ! -e $log_sched_file ] ; then - return - fi - - #从log_sched配置文件中读取出日志大小上限值 - while read line - do - tmpkey="file.max_size=" - - if [[ $line = *$tmpkey* ]] ; then - if [[ $line = $tmpkey ]] ; then - echo "size_max is empty, do nothing and return" - return - fi - - size_max=${line#$tmpkey} - echo "**********************************************************" - echo " get size_max: $size_max" - echo "**********************************************************" - echo "" - - break - fi - done < $log_sched_file - - - if [ $size_max -eq 0 ] ; then - echo "size_max is 0, do nothing and return" - return - fi - - #定期检查日志总大小是否超限 - path=$prefix* - echo " get path: $path" - - folder_size=$(wc -c $path|grep total |awk '{print $1}') - if [ -z $folder_size ] ; then - folder_size=0 - fi - - echo "cursize: $folder_size" - echo "maxsize: $size_max" - - if [ $folder_size -gt $size_max ] ; then - echo "flush folder $path" - rm -rf $path - sync - fi -} - -deal_logs $@ - - - - diff --git a/libs/files/log/deal_logfiles.sh b/libs/files/log/deal_logfiles.sh index a2b04215c..f2eec945a 100755 --- a/libs/files/log/deal_logfiles.sh +++ b/libs/files/log/deal_logfiles.sh @@ -93,6 +93,13 @@ function deal_logs () if [ -z $folder_size ] ; then folder_size=0 fi + + if [ $folder_size -eq 0 ]; then + folder_size=$(wc -c $path|awk '{print $1}') + fi + if [ -z $folder_size ] ; then + folder_size=0 + fi echo "cursize: $folder_size" echo "maxsize: $size_max"