使用awk分割日志将数据存入infobright列式数据库中

#!/bin/bash
COMMON=$(date -d "yesterday" "+%Y_%m_%d")"common.log"
CLI=$(date -d "yesterday" "+%Y_%m_%d")"cli.log"
LOG_PATH="/home/admin/resource/logs/"
awk -F '|' '{if ($3 != "-"){print $3 "," $11 "," $12 "," $13 "," $9 "," $10 "," $7 "," $8 "," $5 "," $4 "," $6 "," $15 "," $1}}' ${LOG_PATH}${COMMON} > ${LOG_PATH}"web.txt"
awk -F '|' '{print $2 "," $3 "," $1}' ${LOG_PATH}${CLI} > ${LOG_PATH}"wx.txt"
HOSTNAME="127.0.0.1"
USERNAME=""
PASSWORD=""
DB__NAME=""
DB__PORT="5029"
DATA_BEFORE=$(date -d "yesterday" "+%Y-%m-%d 00:00:00")
DATA_END=$(date -d "yesterday" "+%Y-%m-%d 23:59:59")
SQL="load data infile '${LOG_PATH}user.csv' ignore into table user character set utf8 fields terminated by ',' optionally enclosed by '\"' lines terminated by '\n'";
db_data=`mysql-ib -h${HOSTNAME} -P${DB__PORT} -u${USERNAME} -p${PASSWORD} ${DB__NAME}  -e "${SQL}"  --default-character-set=UTF8`
SQL_WEB="load data infile '${LOG_PATH}web.txt' ignore into table fact_web character set utf8 fields terminated by ',' optionally enclosed by '\"' lines terminated by '\n'";
db_data=`mysql-ib -h${HOSTNAME} -P${DB__PORT} -u${USERNAME} -p${PASSWORD} ${DB__NAME}  -e "${SQL_WEB}"  --default-character-set=UTF8`
SQL_WX="load data infile '${LOG_PATH}wx.txt' ignore into table fact_wx character set utf8 fields terminated by ',' optionally enclosed by '\"' lines terminated by '\n'";
db_data=`mysql-ib -h${HOSTNAME} -P${DB__PORT} -u${USERNAME} -p${PASSWORD} ${DB__NAME}  -e "${SQL_WX}"  --default-character-set=UTF8`
mv -f  ${LOG_PATH}"user.csv" ${LOG_PATH}"user_bak.csv"
mv -f  ${LOG_PATH}"wx.txt" ${LOG_PATH}"wx_bak.txt"
mv -f  ${LOG_PATH}"web.txt" ${LOG_PATH}"web_bak.txt"
exit 1

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值