清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
clear
logs_path="/var/log/tomcat"
pro_logs_path="/path/tomcatlog/processed"
ratedate=$(date -d "Yesterday" +"%Y-%m-%d")
app_grp=(s1 s2 s3 s4 s5)
function log_cut()
{
for i in ${app_grp[@]}
do
for j in $(cd $logs_path ; echo $i.log.*)
do
[ $j = $i.log.\* ] && continue
ratemonth=`echo ${j##*.}|awk -F '-' '{print $1"-"$2}'`
[ ! -f $pro_logs_path/$i\_$ratemonth.txt ] && touch $pro_logs_path/$i\_$ratemonth.txt
if [ "s1" = $i -o "s2" = $i ] ; then
[ $ratedate != ${j##*.} ] && grep -v 'INFO' $logs_path/$j >> $pro_logs_path/$i\_$ratemonth\.txt || grep -v 'INFO' $logs_path/$j >> $pro_logs_path/$i\_$ratedate\.txt
elif [ "s3" = $i ] ; then
[ $ratedate != ${j##*.} ] && egrep -v 'INFO|TransServlet.java:36' $logs_path/$j >> $pro_logs_path/$i\_$ratemonth\.txt || egrep -v 'INFO|TransServlet.java:36' $logs_path/$j >> $pro_logs_path/$i\_$ratedate\.txt
elif [ "s4" = $i ] ; then
[ $ratedate != ${j##*.} ] && egrep -v 'INFO|InceptData=true' $logs_path/$j >> $pro_logs_path/$i\_$ratemonth\.txt || egrep -v 'INFO|InceptData=true' $logs_path/$j >> $pro_logs_path/$i\_$ratedate\.txt
elif [ "s5" = $i ] ; then
[ $ratedate != ${j##*.} ] && egrep 'threw|at ' $logs_path/$j >> $pro_logs_path/$i\_$ratemonth\.txt || egrep 'threw|at ' $logs_path/$j >> $pro_logs_path/$i\_$ratedate\.txt
fi
rm $logs_path/$j
done
done
}
function hmd_cut()
{
for k in $(cd $logs_path ; echo *0000.txt)
do
mddate=${k:2:6}
if [ $mddate != $(date -d "last month" +"%Y%m") -a $mddate != $(date +"%Y%m") ] ; then
ls -lh $logs_path/$k|awk '{print $NF,$5}'|sed 's/\/var\/log\/tomcat\///g' >> $pro_logs_path/hmd.txt
rm $logs_path/$k
fi
done
}
function txt_clear_up()
{
for w in ${app_grp[@]}
do
for tt in $(cd $pro_logs_path ; echo $w.*)
do
ratemonth=`awk -F '-|\_' '{print $2"-"$3}' $tt`
[ $tt != $w\_$ratemonth\.txt -a $tt != $w\_$ratedate\.txt ] && cat $pro_logs_path/$tt >> $pro_logs_path/$w\_$ratemonth\.txt
rm $pro_logs_path/$tt
done
done
}
log_cut
hmd_cut
txt_clear_up
#ls -lh $pro_logs_path