• Shell脚本实现用户数据导入


    #输入:固定格式的用户数据user.sql
    #处理:循环读取user.sql中的每行(每行对应一条用户数据),依次调用curl命令将用户插入BearyChat
    #输出:执行结果输出到日志文件outlog.txt
    #版本:V1.1
    num=1
    for line in `cat errorData.sql`
    do
        #截断
        IFS=','
        arr=($line)
        #body参数赋值
        domainid=${arr[0]};    domainname=${arr[1]};    username=${arr[2]};    userid=${arr[3]};    teamname=${arr[4]};    teamid=${arr[5]};    region=${arr[6]}
        #拼装请求的body数据
        body_data="[{"domainid":"$domainid","domainname":"$domainname","username":"$username","userid":"$userid","teamname":"$teamname","teamid":"$teamid","regions":["$region"]}]"
        #调用HTTP接口,限制连接超时时间,限制数据传输超时时间
        curl -k -X POST -H 'Content-Type:application/json' -d "$body_data" -o /dev/null -s -w "line_number:$num,http_code:%{http_code},time_connect:%{time_connect},time_starttransfer:%{time_starttransfer},time_total:%{time_total}" https://100.101.31.233/api/devcloud/users | tee -a outlog.txt
        echo >> outlog.txt
        echo
        let num=${num}+1
        #休眠0.1s
        sleep 0.05
    done
    #输入:import.sh脚本执行后的结果文件outlog.txt
    #处理:此shell的作用是从import.sh的结果文件outlog.txt中查找出调用接口报错的和没有返回的用户数据,并把数据整合到errorData.sql文件中,供再次处理!
    #输出:正确返回的内容会回显到控制台,执行错误的用户数据会输出到errorData.sql
    #版本:V1.0
    # ---------------------重要!!!执行此脚本前确保利用手工拷贝的outlog.txt文件,否则某些行会读不出来!!!------------------
    # ---------------------重要!!!执行此脚本前确保利用手工拷贝的outlog.txt文件,否则某些行会读不出来!!!------------------
    num=1
    for line in `cat outlog.txt` #outlog.txt是import.sh执行后的结果文件
    do
        #如果长度为1,则为空行,需要记录
        if [ "${#line}" -eq 1 ] || !( echo $line|grep 'http_code:200' ); then
            n=$num"p"
            echo $n
            sed -n $n user.sql >> errorData.sql
        fi
        let num=${num}+1
    done
    exit 0
    #查找文件空行
    #grep -n "^$" outlog.txt
  • 相关阅读:
    BZOJ_4383_[POI2015]Pustynia_线段树优化建图+拓扑排序
    BZOJ_1492_[NOI2007]货币兑换Cash_CDQ分治+斜率优化
    BZOJ_3073_[Pa2011]Journeys_线段树优化建图+BFS
    BZOJ_2726_[SDOI2012]任务安排_斜率优化+二分
    BZOJ_1406_[AHOI2007]密码箱_枚举+数学
    哈希表(Hash table)
    算法分析方法之平摊分析(Amotized Analysis)
    数据库视图功能的使用
    不基于比较的排序算法:Counting-sort和Radix-sort
    QuickSort(快速排序)的JAVA实现
  • 原文地址:https://www.cnblogs.com/yaochc/p/8575857.html
Copyright © 2020-2023  润新知