加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

把tomcat里面的项目生成的日志进行分析切割和分类

发布时间:2020-12-15 07:14:16 所属栏目:安全 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #!/bin/bashPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/binexport PATHclearlogs_path="/var/log/tomcat"pro_logs_path="

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

#!/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

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读