Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2764718
  • 博文数量: 587
  • 博客积分: 6356
  • 博客等级: 准将
  • 技术积分: 6410
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-23 10:54
个人简介

器量大者,福泽必厚

文章分类

全部博文(587)

文章存档

2019年(3)

2018年(1)

2017年(29)

2016年(39)

2015年(66)

2014年(117)

2013年(136)

2012年(58)

2011年(34)

2010年(50)

2009年(38)

2008年(16)

分类:

2012-09-11 16:34:07

CREATE TABLE `fee_polling` (
  `id` int(11) NOT NULL auto_increment COMMENT '自动增长列,主键',
  `domainid` int(11) default NULL COMMENT '域的id号',
  `OKBS` int(11) default NULL COMMENT '输出带宽',
  `IKBS` int(11) default NULL COMMENT '输入带宽',
  `BIB` int(11) default NULL COMMENT '入进流量',
  `BOB` int(11) default NULL COMMENT '出输流量',
  `OBS` int(11) default NULL COMMENT '出输带宽=bob/60',
  `IBS` int(11) default NULL COMMENT '输入宽带= bib/60',
  `NREQ` int(11) default NULL COMMENT '秒每请求数',
  `time` timestamp NULL default NULL COMMENT '采集时间',
  `authtime` timestamp NOT NULL default CURRENT_TIMESTAMP,
  PRIMARY KEY  (`id`),
  KEY `a` (`domainid`,`time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='计费模块集采的数据项\r\n带宽,流量,每秒请求数\r\ndomainid对应domain的id\r\n\r\n' 

书写的shell脚本:

  1. [root@ungeoxliu data]# cat my.sh
  2. #!/bin/sh
  3. #0 3 * * * /bin/bash /data/scripts/billing/log2user2.sh > /dev/null 2>&1 &
  4. DIR_BASE="/data/ftp/dcclog/upload/dd/tmp"
  5. mkdir -p ${DIR_BASE}
  6. cd ${DIR_BASE}
  7. mysql -uroot -p123456 -N dcc2 -e "select id,host from dcc_hosts where status=0" > /data/ftp/domain.list
  8. cat /data/ftp/domain.list|awk '{print $2}' > /data/ftp/puredomain.list
  9. echo $(date -d "-1 day" "+%Y%m%d") > /data/ftp/datetime.list
  10. mytime=`cat /data/ftp/datetime.list`
  11. cat /data/ftp/datetime.list | while read datetime
  12. do
  13. find /data/ftp/dcclog/upload/[1-9]*/ -type f -name "squidlog-billing-${datetime}.tgz" | while read file
  14. do
  15. dir_base=$(dirname ${file} | awk -F'/' '{print $NF}')
  16. dir_target="${DIR_BASE}/${dir_base}"
  17. mkdir -p ${dir_target} && tar zxf ${file} -C ${dir_target}
  18. done
  19. done
  20. for var in `cat /data/ftp/puredomain.list`
  21. do

  22. find ${DIR_BASE} -name ${var}-${mytime} > /data/ftp/domainlog.txt
  23. >/data/ftp/domainalllog.txt
  24. for log in `cat /data/ftp/domainlog.txt`
  25. do
  26. echo "This is a test"
  27. cat ${log}>> /data/ftp/domainalllog.txt
  28. done
  29. firstcolumn=`cat /data/ftp/domainalllog.txt |awk '{print $1}'|head -n 1 `
  30. cat /data/ftp/domainalllog.txt | awk '{print $2,$3,$4,$5}' >/data/ftp/fourcolumn.txt
  31. awk '{a[$1]+=$2;b[$1]+=$3;c[$1]+=$4}END{for(i in a)print i,a[i],b[i],c[i]}' /data/ftp/fourcolumn.txt > /data/ftp/fourcolumnmiddle.txt
  32. sed -i -e "s/^/${firstcolumn} /g" /data/ftp/fourcolumnmiddle.txt
  33. cat /data/ftp/fourcolumnmiddle.txt | while read line
  34. do
  35. echo $line
  36. echo $line> /data/ftp/singleline.txt
  37. domainid=`cat /data/ftp/domain.list|grep ${var}| awk '{print $1}' `
  38. #echo ${domainid}
  39. okbs=0
  40. ikbs=0
  41. bib=`cat /data/ftp/singleline.txt |awk '{print $3}' `
  42. bob=`cat /data/ftp/singleline.txt |awk '{print $4}' `
  43. obs=`expr $bob / 60`
  44. ibs=`expr $bib / 60`
  45. nreq=`cat /data/ftp/singleline.txt |awk '{print $5}'`
  46. mytime=`cat /data/ftp/singleline.txt |awk '{print $1" " $2}'`
  47. authtime="0000-00-00 00:00:00"
  48. mysql -u root -p'123456' -D dcc2 -e "insert into fee_polling(domainid,okbs,ikbs,bib,bob,obs,ibs,nreq,time,authtime) values('$domainid','$okbs','ikbs','$bib','$bob','$obs','$ibs','$nreq','$mytime','$authtime') "
  49. done

  50. done

阅读(1222) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~