shell mysql 日志分析_shell分析日志导入数据库

1:mycomm.sh -> 数据库连接

#!/bin/sh

test_db=test

optest="mysql -hlocalhost -uroot -ptyu!@!*T2 --default-character-set=utf8 -N "

now_time=`date +%s`

p_list=`$optest -e "select concat(id,value) from forlist where status =0"` #shell中反引号里的是命令,shell首先执行该命令行,并以它的标准输出结果

for p in $p_list

do

echo 'p_id =' $p

done

2.mystat.sh ->读取日志awk分析后导入数据库

#!/bin/sh

source /usr/local/stat/shell/mycomm.sh

stime=`date +%F' '%H:%M -d "1 minute ago"`

etime=`date +%F' '%H:%M`

tmp_list="$0.list"

filename(){

if [ "`date +%M`" == "00" ]

then

day=`date +%F'-'%H -d '-1 hour'`

if test -e $log_path/sys.log-$day

then

sys_log="$log_path/sys.log-$day"

else

sys_log="$log_path/sys.log"

fi

else

sys_log="$log_path/sys.log"

fip

}

p_log(){

$optest stat -e "truncate table p_tmp"

$optest stat -e "truncate table p3_tmp"

log_path="/usr/local/stat/log"

filenamel

#1.写入

cat $log|awk -v vtime="$stime" -v wtime="$etime" -F '|' '{if(($1>=vtime)&&($1 $tmp_list

$optest stat -e "load data local infile '$tmp_list' into table xxx fields terminated by '|' (create_time,p_id,item_id,c_id,status)"

cat $tmp_list

#2.修改

cat $log|awk -v vtime="$stime" -v wtime="$etime" -F '|' '{if(($1>=vtime)&&($1 $tmp_list

$optest stat -e "load data local infile '$tmp_list' into table p_tmp fields terminated by '|' (update_time,item_id)"

$optest stat -e "update xxx a, yyy b set a.status=2, a.update_time=b.update_time where a.item_id=b.item_id"

cat $tmp_list

#3.修改

cat $log|awk -v vtime="$stime" -v wtime="$etime" -F '|' '{if(($1>=vtime)&&($1 $tmp_list

$optest stat -e "load data local infile '$tmp_list' into tablexxx fields terminated by '|' (update_time,item_id)"

$optest stat -e "update xxx a, yyy b set a.status=3, a.update_time=b.update_time where a.item_id=b.item_id"

cat $tmp_list

}

p_log  #执行

date

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值