Linux下 按日期时段 分析日志 shell
来源:互联网 发布:python下载文件 编辑:程序博客网 时间:2024/06/08 16:25
不得不服中国移动客户的严谨。在配置Weblogic集群中我们系统与N个第三方系统交互的线程队列的大小时,他们要我们跟据现网日志分析各系统的请求压力,而且要拿出各种统计数据,然后根据这样统计数据来决点各线程池的大小。俺们系统日志,N多种,一天产生的量基本都是几十万级的,加起来过千万。所以,写这个Shell方便分析,觉得这个Shell还算通用,所以发布上来,希户能给后来者也带来方便。
pdates=$2;
pkeywds=$3;
keywd="";
method_count()
{
echo "Begin method method_count!"$keywd;
hs="00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23";
for dt in $pdates;
do
for h in $hs;
do
tt=$dt"."$h;
kk=$tt"{1,}.*"$keywd;
echo $dt"日"$h"时的请求数:";
# echo $kk;
#cat $pfile|grep $dt"."$h|grep $keywd|wc -l;
grep $kk $pfile|wc -l;
done;
done;
echo "End method method_count!";
}
for k in $pkeywds;
do
# if [ -n "$keywd" ];
# then
# echo JJJJJ $keywd;
# keywd=$keywd"|";
# fi
keywd=$keywd$k"{1,}.*";
done;
method_count;
注意:上面Shell中的“}”与“{”请分别改为“/}”、“/{”。我代码中的"/"转义符,让CSDN系统去掉了。毫无疑问,这是CSDN的一个BUG。
执行结果:
Begin method method_count!Login/{1,/}.*ServiceID/{1,/}.*
2008-03-06ÈÕ00ʱµÄÇëÇóÊý£º
0
2008-03-06ÈÕ01ʱµÄÇëÇóÊý£º
0
2008-03-06ÈÕ02ʱµÄÇëÇóÊý£º
0
2008-03-06ÈÕ03ʱµÄÇëÇóÊý£º
0
2008-03-06ÈÕ04ʱµÄÇëÇóÊý£º
0
2008-03-06ÈÕ05ʱµÄÇëÇóÊý£º
0
2008-03-06ÈÕ06ʱµÄÇëÇóÊý£º
0
2008-03-06ÈÕ07ʱµÄÇëÇóÊý£º
0
2008-03-06ÈÕ08ʱµÄÇëÇóÊý£º
0
2008-03-06ÈÕ09ʱµÄÇëÇóÊý£º
0
2008-03-06ÈÕ10ʱµÄÇëÇóÊý£º
1
2008-03-06ÈÕ11ʱµÄÇëÇóÊý£º
2
2008-03-06ÈÕ12ʱµÄÇëÇóÊý£º
1
2008-03-06ÈÕ13ʱµÄÇëÇóÊý£º
1
2008-03-06ÈÕ14ʱµÄÇëÇóÊý£º
1
2008-03-06ÈÕ15ʱµÄÇëÇóÊý£º
0
2008-03-06ÈÕ16ʱµÄÇëÇóÊý£º
0
2008-03-06ÈÕ17ʱµÄÇëÇóÊý£º
280
2008-03-06ÈÕ18ʱµÄÇëÇóÊý£º
1
2008-03-06ÈÕ19ʱµÄÇëÇóÊý£º
0
2008-03-06ÈÕ20ʱµÄÇëÇóÊý£º
0
2008-03-06ÈÕ21ʱµÄÇëÇóÊý£º
0
2008-03-06ÈÕ22ʱµÄÇëÇóÊý£º
0
2008-03-06ÈÕ23ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ00ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ01ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ02ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ03ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ04ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ05ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ06ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ07ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ08ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ09ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ10ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ11ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ12ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ13ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ14ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ15ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ16ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ17ʱµÄÇëÇóÊý£º
3
2008-03-08ÈÕ18ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ19ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ20ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ21ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ22ʱµÄÇëÇóÊý£º
0
2008-03-08ÈÕ23ʱµÄÇëÇóÊý£º
0
End method method_count!
后一次完善:
pdates=$2;
pkeywds=$3;
ppath=$4;
keywd="";
tempf="_temp_all.log";
method_count()
{
hs="00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23";
for dt in $pdates;
do
for h in $hs;
do
tt=$dt"."$h;
kk=$tt"{1,}.*"$keywd;
echo $pfile $dt"日"$h"时的请求数:";
grep $kk $tempf|wc -l;
done;
done;
}
method_createtempfile()
{
mf="";
for ff in $ppath/*;
do
if [ -f $ff ];
then
case $ff in *$pfile*)
mf=$mf" "$ff;
esac
fi
done;
cat $mf > $tempf;
}
for k in $pkeywds;
do
keywd=$keywd$k"{1,}.*";
done;
if [ -z $ppath ];
then
ppath=".";
fi
echo begin analyse! keyword is $keywd
method_createtempfile;
method_count;
rm $tempf;
echo end analyse!
- Linux下 按日期时段 分析日志 shell
- Linux下apache日志(按日期存放)分析与状态查看方法
- Linux下apache日志(按日期存放)分析与状态查看方法
- Linux下apache日志(按日期存放)分析与状态查看方法
- Linux下Apache日志按日期分割并自动备份
- Linux下按日期删除文件
- Linux下利用cronolog工具实现catalina.out按日期输出日志
- tomcat下log4j接管日志并按日期分割
- apache 按日期分卷日志
- apache 日志按日期分割
- gc日志按日期增加
- nginx按日期存储日志
- Linux/Windows 下MySQL定时按日期备份数据
- shell实现按日期删除elk系统产生的logstash日志索引数据
- Linux按日期删除文件
- winform log4net按日期 创建日志
- log4net支持按日期产生日志文件
- 使用cronolog按日期分割日志
- 关注offices文档格式标准之争
- [转]深入剖析c#的多态
- C# base64加密解密完整代码(支持中文,全角符号)
- appfuse准备
- 关于VB
- Linux下 按日期时段 分析日志 shell
- 3G小知识
- Liferay应用开发中构造render url
- Ext DateField显示日期时间方法
- HTTP协议基础
- Fedora 4 安装VMware Tools 5.5.*
- 五个令程序员受益匪浅的寓言故事
- 3G时代:新选择新体验
- appfuse实例学习准备