Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1150718
  • 博文数量: 188
  • 博客积分: 2267
  • 博客等级: 大尉
  • 技术积分: 1907
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-01 11:17
文章分类

全部博文(188)

文章存档

2016年(16)

2015年(16)

2014年(12)

2013年(32)

2012年(45)

2011年(67)

分类: LINUX

2012-05-08 18:01:37

公司服务器数据统计,求最大,最小,平均值!感谢william & james!!!

点击(此处)折叠或打开

  1. #!/bin/bash
  2. #定义日期时间
  3. date=`date -d yesterday +%Y%m%d`
  4. #下载mrtg产生的数据文件
  5. wget -O /mnt/$date-jboss1.txt &> /dev/null
  6. wget -O /mnt/$date-jboss2.txt &> /dev/null
  7. wget -O /mnt/$date-mysql.txt &> /dev/null
  8. #统计出数据中jboss、mysql的最大最小连接数
  9. cat /mnt/$date-jboss1.txt >> /mnt/$date-jboss2.txt
  10. #max1=`cat /mnt/$date-jboss1.txt | grep jboss | cut -d' ' -f2 | sort -un |grep -v ^$| tail -1`
  11. max2=`cat /mnt/$date-jboss2.txt | grep jboss | cut -d' ' -f2 | sort -un | grep -v ^$| tail -1`
  12. min1=`cat /mnt/$date-jboss1.txt | grep jboss | cut -d' ' -f2 | sort -unr |grep -v ^$| tail -1`
  13. min2=`cat /mnt/$date-jboss2.txt | grep jboss | cut -d' ' -f2 | sort -unr | grep -v ^$| tail -1`
  14. ##显示jboss最大、最小连接数
  15. #test "$max1" -ge "$max2" && echo max_j=$max1 || echo max_j=$max2
  16. #test "$min1" -lt "$min2" && echo min_j=$min1 || echo min_j=$min2
  17. echo max_j=$max2
  18. echo min_j=$min2
  19. s=0
  20. c=0
  21. for i in `cat /mnt/$date-jboss2.txt | grep jboss | cut -d' ' -f2| grep -v ^$`
  22. do
  23. let "s += $i"
  24. let "c += 1"
  25. done
  26. echo total=$s
  27. let "avg = $s/$c"
  28. echo average=$avg
  29. ##显示mysql最大、最小连接数
  30. echo max_m=`cat /mnt/$date-mysql.txt | grep mysql | cut -d' ' -f2 | sort -un | grep -v ^$| tail -1`

  31. echo min_m=`cat /mnt/$date-mysql.txt | grep mysql | cut -d' ' -f2 | sort -unr |grep -v ^$| tail -1`



修改后:

点击(此处)折叠或打开

  1. #!/bin/bash
  2. #定义日期时间
  3. date=`date -d yesterday +%Y%m%d`
  4. #下载mrtg产生的数据文件
  5. wget -O /mnt/$date-jboss1.txt &> /dev/null
  6. wget -O /mnt/$date-jboss2.txt &> /dev/null
  7. wget -O /mnt/$date-mysql.txt &> /dev/null
  8. #统计出数据中jboss、mysql的最大最小连接数
  9. cat /mnt/$date-jboss1.txt >> /mnt/$date-jboss2.txt
  10. #max1=`cat /mnt/$date-jboss1.txt | grep jboss | cut -d' ' -f2 | sort -un |grep -v ^$| tail -1`
  11. max2=`cat /mnt/$date-jboss2.txt | grep jboss | cut -d' ' -f2 | sort -un | grep -v ^$| tail -1`
  12. min1=`cat /mnt/$date-jboss1.txt | grep jboss | cut -d' ' -f2 | sort -unr |grep -v ^$| tail -1`
  13. min2=`cat /mnt/$date-jboss2.txt | grep jboss | cut -d' ' -f2 | sort -unr | grep -v ^$| tail -1`
  14. ##显示jboss最大、最小连接数
  15. #test "$max1" -ge "$max2" && echo max_j=$max1 || echo max_j=$max2
  16. #test "$min1" -lt "$min2" && echo min_j=$min1 || echo min_j=$min2
  17. echo max_j=$max2
  18. echo min_j=$min2
  19. #显示jboss的平均值
  20. s=0
  21. c=0
  22. for i in `cat /mnt/$date-jboss2.txt | grep jboss | cut -d' ' -f2| grep -v ^$`
  23. do
  24. let "s += $i"
  25. let "c += 1"
  26. done
  27. let "avg_j = $s/$c"
  28. echo average_j=$avg_j
  29. ##显示mysql最大、最小连接数
  30. echo max_m=`cat /mnt/$date-mysql.txt | grep mysql | cut -d' ' -f2 | sort -un | grep -v ^$| tail -1`
  31. echo min_m=`cat /mnt/$date-mysql.txt | grep mysql | cut -d' ' -f2 | sort -unr |grep -v ^$| tail -1`
  32. #显示mysql的平均值
  33. x=0
  34. y=0
  35. for i in `cat /mnt/$date-mysql.txt | grep jboss | cut -d' ' -f2| grep -v ^$`
  36. do
  37. let "x += $i"
  38. let "y += 1"
  39. done
  40. let "avg_m = $x/$y"
  41. echo average_m=$avg_m
阅读(1506) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~