debug()
{
debug="true"
if [ $debug = "true" ]
then
echo $1
fi;
}
getYesterday()
{
yesterday=
yesterday=`date -d last-day +"%Y/%m/%d"`
debug $yesterday
}
getToday()
{
today=
today=`date +"%Y/%m/%d"`
debug $today
}
initialDate()
{
getYesterday
getToday
}
getlegoHome()
{
legoHome=
if [ -f /etc/profile.d/lego.sh ]; then
. /etc/profile.d/lego.sh
legoHome=`echo $LEGO_HOME`
fi
}
initail()
{
initialDate
getlegoHome
}
#$1 means lines, $2 tarLogFile, $3 each file
#get its 20 lines after exception
getLogFromEachLine()
{
#no exception
if [ $# != 3 ]
then
return
fi;
fileName=$3
logName=$2
linewithColon=$1
debug $fileName
debug $logName
lines=
lines=`echo $linewithColon | cut -d: -f1- --output-delimiter=" "`
debug $lines
#first and last time, do nothing
for line in $lines
do
grep -i "zip" $fileName > /dev/null
#its zip file
if [ $? = 0 ]
then
endLine=$[line + 20]
zcat $fileName | sed -n "$line,$endLine p" >> $logName
else
endLine=$[line + 20]
cat $fileName | sed -n "$line,$endLine p" >> $logName
fi;
done
}
#exceptionLine begin line, $1 exceptionStartLine,$2 file names
getExceptionLines()
{
exceptionEndLine=
findIt="false"
for allLine in $alllines
do
if [ $findIt = "true" ]
then
exceptionEndLine=$allLine
break;
fi;
if [ $allLine -eq $1 ]
then
findIt="true"
fi;
done;
if [ -z $exceptionEndLine ]
then
exceptionEndLine=`cat $2 | wc -l`
fi;
}
# $1 means the dir, $2 means the tar file
getDayLog()
{ dirName=$1
cd $dirName
logName=$2
whichDay=$3
for file in `ls`
do
echo "start $file" >> $2
#get today's log
#get each line first
alllines=
alllines=`zgrep -n "$whichDay" $file | awk -F : '{print $1}'`
exceptionLines=
exceptionLines=`zgrep -n "$whichDay" $file | grep -i exception | awk -F : '{print $1}'`
for exceptionLine in $exceptionLines
do
getExceptionLines $exceptionLine $file
grep -i "zip" $file > /dev/null
if [ $? = 0 ]
then
zcat $file | sed -n "$exceptionLine,$exceptionEndLine p" >> $logName
else
cat $file | sed -n "$exceptionLine,$exceptionEndLine p" >> $logName
fi;
done;
done
}
getLog()
{
getDayLog $1 $2 $today
getDayLog $1 $2 $yesterday
}
doAll()
{
initail
#feLog
getLog $legoHome/Runtime/Tomcat6/logs /root/feLog
#getLog $legoHome/Runtime/LegoRuntime/logs /root/beLog
#getLog $legoHome/Runtime/LegoRuntime/logs/webnmslog /root/webNmsLog
}
doAll
分享到:
相关推荐
检查日志,分析日志,java 检查日志,分析日志,java 检查日志,分析日志,java检查日志,分析日志,java
日记分析日志
python 分析日志(初本)
oracle使用辅助数据库帮助分析日志,logminer的用法和使用。
入侵日入侵日志分析技术志分析技术 入侵日志分析技术 入侵日志分析技术
Shell 分析日志文件高效命令详解.docx
可以对日志进行分析,一个通用的日志查看器. 可以通过用户配置的正则表达式解析文本格式的日志文件
SQLSERVER 日志分析工具及使用文档 ,实用工具,可以根据日志数据还原,分析日志
操作系统-认识与分析日志文件基本知识点整理
主要给大家分享了一个实时分析日志的python小脚本,文中给出了详细的介绍和示例代码供大家参考学习,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
ELK分析日志利用高德地图显示IP地理位置,对于刚接触ELK,并且安装,最佳新手选择。
logster, 分析日志文件,生成 Graphite 和Ganglia的度量 Logster - 从日志文件生成度量 Logster是读取日志文件和生成可以配置输出的工具的工具。 它是对 application/system/error 日志中发生的事件趋势进行可视化的...
日志分析日志分析日志分析日志分析日志分析
最后在弹出的提示你是否现在分析日志的对话框中,点击“是”就可以了; 整套操作相当的简单,一目了然。 2、开始分析任务 在确认分析以后,分析很快,只要1-3秒钟,就会弹出IE浏览器打开的的日志分析结果; ...
收集日志、分析日志,是网络专业技术人员的必备基础技能。 本文档适用于华为和华三设备,他们提供了一个打印诊断信息的命 令,这个命令相当于批处理程序,它把多个display命令都封装在一个 命令中执行,省去了...
个人使用文档 自己使用的一个 电商的项目分析 从大数据项目 web资源分析 日志获取 到数据处理 完整流程
IIS日志分析工具,是我在无耐之下写的一个小工具,主要用来分析日志中蜘蛛访问情况与恶意攻击情况。 蜘蛛访问情况可以24小时统计不同的蜘蛛访问次数。对于恶意攻击情况,使用者可以编辑dangerousWord.txt文件,...
兼容神策开源埋点SDK,采用Nginx+Flume+kafka实现日志收集。包括nginx环境配置、Flume解密和日志格式处理、将明文数据存放到kafka的Topic下、Flink写入HDFS。
Oracle异机logminer日志分析 日志分析 挖掘日志 分析
通过分析日志文件得出必要数据存储到excel中。通过分析日志文件得出必要数据存储到excel中。通过分析日志文件得出必要数据存储到excel中。