shell read mysql_shell mysql 处理数据小结

shell mysql 处理数据小结,shell中子进行变量的传递看了好久..

学习一下另一种思维方式

[root@ccsafe cc]# cat productinfo.sh

#!/bin/bash

#stat data for check product system#cc@ccsafe.com

#2008-10-15

readonly -a g_DBConf=("-hlocalhost" "-uuser" "-ppwd")

readonly -a g_DBConf_remote=("-hccsafe" "-uuser2" "-ppwd2")

readonly g_resultFile="/usr/local/product_info_svr/dbshell/check_url/stat_result.txt"

readonly g_LogFile="/home/saferoot/cc/productinfo.log"

readonly g_tmp="/tmp/tmpurl"

g_checkday=0

g_checkedday=0

g_productday=0

g_productdomain=0

g_producturls=0

g_urldomain=""

function stat_day_domain_num()

{

cat $g_tmp |awk -F '/' '{print $3}'|sort |uniq -c |sort -nr |head -20|while read LINE

#while read -r LINE

do

g_producturls=$(echo $LINE |awk '{print $1}')

g_urldomain=$(echo $LINE |awk '{print $2}')

echo "$g_producturls $g_urldomain"

local sql="INSERT INTO xlstat.webdomainstat(urldomain,producturls) VALUES('$g_urldomain','$g_producturls');"

#echo $sql

g_sql=`printf "%s%s" "$g_sql" "$sql"`

#sub process!!

echo "$g_sql">/tmp/tmpsql

#echo "$sql" |mysql ${g_DBConf_remote[@]}

done

read g_g_sql

# echo $g_g_sql

echo "$g_g_sql" |mysql ${g_DBConf_remote[@]}

}

function export_day_product_url()

{

(( $# != 1 )) && {

echo "function stat_day_import_num() parameter[$@] error"

return 1;

}

#local -r date=$(date -d"-$n day" +"%Y%m%d")

local -r date=$(date -d"-1 day" +"%Y%m%d")

if [ -f "$g_tmp" ];then

rm -rf $g_tmp

fi

#local -r sql="select page_url from url_src.gougou_problem_$date into outfile '$g_tmp'"

local sql="select page_url from url_src.gougou_problem_$date into outfile '/tmp/tmpurl'"

echo "$sql"

echo "$sql" |mysql ${g_DBConf[@]}

}

function stat_day_product_num()

{

g_productdomain=$(cat $g_tmp |awk -F '/' '{print $3}'|sort |uniq -c |wc -l)

g_checkday=$(tail -1 $g_resultFile |awk '{print $3}')

g_checkedday=$(tail -1 $g_resultFile |awk '{print $4}')

g_productday=$(tail -1 $g_resultFile |awk '{print $5}')

echo "$g_checkday $g_checkedday $g_productday $g_productdomain"

local sql="INSERT INTO xlstat.webproductstat(checkday,checkedday,productday,productdomain) VALUES('$g_checkday','$g_checkedday','$g_productday','$g_productdomain')"

echo "$sql" |mysql ${g_DBConf_remote[@]}

}

function main()

{

local start_t=`date +"%s"`

local end_t=0

echo ""

echo "------------------`date +"[%Y%m%d %T]"`"

echo "`date +"[%Y%m%d %T]"` shell $0 start at.."

local -r n=${1:-1}

export_day_product_url $n

stat_day_product_num

stat_day_domain_num

echo "$(date +"[%Y%m%d %H:%M:%S]") over" >> ${g_LogFile}

wait

end_t=`date +"%s"`

echo "`date +"[%Y%m%d %T]"` shell end. use-time:$(( end_t-start_t ))sec. "

}

main $@

[root@ccsafe cc]#

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值