- 论坛徽章:
- 3
|
日志sdc_02_17_2016(2).log:每个日志文件大概200M左右,日志行数10万行左右。
#Remark: DCS-p
#Software: WebTrends Data Collector
#Version: 1.0
#Date: 2016-02-06 08:56:35
#Fields: date time c-ip cs-uri-stem
2016-02-17 07:05:54 210.10.22.6 /NetCar/chehao.onclick agentId=&WT.cg_page=基本信息&WT.cg_onclick=测试号码
2016-02-17 07:05:54 21.13.33.6 /NetCar/chehao.onclick agentId=&WT.cg_page=基本信息&WT.cg_onclick=测试号码
2016-02-17 07:05:55 213.112.44.6 /NetCar/chehao.onclick agentId=&WT.cg_page=基本信息
2016-02-17 07:05:55 211.14.55.6 /NetCar/chehao.onclick agentId=&WT.cg_page=基本信息&WT.cg_onclick=测试
.....
通过shell程序,解析日志中数据,并插入mysql数据库,5万条数据大概插入1个小时,效率比较低,还需大家帮忙看下程序,如何能提高效率,非常感谢。
#!/bin/sh
a="sdc_02_17_2016(2).log"
HOSTNAME="10.22.0.17"
PORT="3306"
USERNAME="test"
PASSWORD="test"
DBNAME="dbtest"
TABLENAME="tabletest"
sed -i '/^#/d' $a
while read c1 c2 c3 c4
do
if [ "$c4" = "cs-uri-stem" ]; then
continue
fi
cg_page=$(echo $c4|grep -oP '(?<=WT.cg_page=)[^&]*')
cg_onclick=$(echo $c4|grep -oP '(?<=WT.cg_onclick=)[^&]*')
insert_sql="insert into ${TABLENAME}(dateid,times,ip,uristem,cg_page,cg_onclick,createdate) values('"$c1"','"$c2"','"$c3"','"$c4"','"$cg_page"','"$cg_onclick"',now())"
#每次打开链接,是不是很慢,听说load data infile很快,如何写?
mysql --default-character-set=utf8 -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${insert_sql}"
done <$a
|
|