线上活动重大事故总结

线上问题注意:

        设计玩家一些重要数据变化的时候,如果量不大,最好在变化时,分别将动作前数量以及动作后数量全部输出打印。

 

        早上一点半,一阵急促的电话声把我叫醒,线上情人节活动玩家数据全部清空了。情人节活动是2.14-2.16,但是活动中获得的积分仍然可以在2.17-2.19日兑换商品。原本应该是展示结束清空积分的操作被意外调用成了活动结束的接口。导致今天零点,经历过上线操作的玩家积分全部被清空。

        最终确定方案,按照日志复刻玩家的积分数据。仔细查了日志,发现玩家积分变化的接口每次只输出了动作之后的积分,并没有输出动作之前的积分数。于是,复刻玩家数据成了一大问题。我们有两个地方打印了玩家总积分数量,一个是商城日志,每次进行购买操作都会打印剩余积分数,一个是增加积分的接口,操作完成打印总积分数。所以思路便是统计2.14-2.16的所有商城log和增加积分的log,按照时间排序,取最后一次数据,就是玩家最终剩余积分数量。

        只能临时写一个脚本,去日志中拉去玩家数据,脚本效率不高,但是是能想到的最快的处理方法了。脚本肯定不通用,随便记录下

#!/bin/bash
#################################
#查找14-16日玩家情人节活动积分
#    结束文件是单个场景服玩家log
#    与herolog的最后操作。需要所有
#    场景服1,3列去重排序
#################################

#商城查找到17号10点之前 防止遗漏
grep -r ShopFlow /data/home/user00/herolog/scene_hero_lvl_two*.log.200217-0* |  awk -F"|" '{if($16==19) print $4,$9,$18}' | sort -k1,3 -r | sort -k3 -n -u | sort -k1,3 > tmp_herolog_17.txt

grep -r ShopFlow /data/home/user00/herolog/scene_hero_lvl_two*.log.200216-* |  awk -F"|" '{if($16==19) print $4,$9,$18}' | sort -k1,3 -r | sort -k3 -n -u | sort -k1,3 > tmp_herolog_16.txt

grep -r ShopFlow /data/home/user00/herolog/scene_hero_lvl_two*.log.200215-* |  awk -F"|" '{if($16==19) print $4,$9,$18}' | sort -k1,3 -r | sort -k3 -n -u | sort -k1,3 > tmp_herolog_15.txt

grep -r ShopFlow /data/home/user00/herolog/scene_hero_lvl_two*.log.200214-* |  awk -F"|" '{if($16==19) print $4,$9,$18}' | sort -k1,3 -r | sort -k3 -n -u | sort -k1,3 > tmp_herolog_14.txt

grep -r 情人节 /data/home/user00/log/scenesserver/scenesserver*.log.200216-* | awk -F"-" '{print $3}' | awk '{print $1,$5,$7}' | awk -F":" '{print $1":"$2":"$3, $4}' | awk '{print $1,$2,$4}' | awk -F"(" '{print $1, $2}' | awk '{print "2020-02-16",$1,$2,$4}' | sort -k1,3 -r | sort -k3 -nu | sort -k1,3 -r > tmp_log_16.txt

grep -r 情人节 /data/home/user00/log/scenesserver/scenesserver*.log.200215-* | awk -F"-" '{print $3}' | awk '{print $1,$5,$7}' | awk -F":" '{print $1":"$2":"$3, $4}' | awk '{print $1,$2,$4}' | awk -F"(" '{print $1, $2}' | awk '{print "2020-02-15",$1,$2,$4}' | sort -k1,3 -r | sort -k3 -nu | sort -k1,3 -r > tmp_log_15.txt

grep -r 情人节 /data/home/user00/log/scenesserver/scenesserver*.log.200214-* | awk -F"-" '{print $3}' | awk '{print $1,$5,$7}' | awk -F":" '{print $1":"$2":"$3, $4}' | awk '{print $1,$2,$4}' | awk -F"(" '{print $1, $2}' | awk '{print "2020-02-14",$1,$2,$4}' | sort -k1,3 -r | sort -k3 -nu | sort -k1,3 -r > tmp_log_14.txt

cat tmp_herolog_17.txt tmp_herolog_16.txt tmp_herolog_15.txt tmp_herolog_14.txt tmp_log_16.txt tmp_log_15.txt tmp_log_14.txt > tmp_find_alluser.txt
#rm -f tmp_herolog_17.txt tmp_herolog_16.txt tmp_herolog_15.txt tmp_herolog_14.txt tmp_log_16.txt tmp_log_15.txt tmp_log_14.txt

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值