1 #!/bin/bash 2 # 做用:統計週期時間內磁盤的寫帶寬總量 3 4 let aDay=24*3600 #一天多少秒 5 startTime=$(date +%s) 6 nohup iostat -mxt 1 >output & 7 count=0 #記錄次數 8 circle=7 #循環統計週期,這裏爲一週 9 sum=0 #一個週期內的寫帶寬總量 10 11 while true 12 do 13 if [ "$count" -eq "$circle" ];then 14 printTime=$(date +%Y/%m/%d-%H:%M:%S) 15 echo -e "$printTime The result of a week is $sum MB \n" >> totalWriteSize.out 16 count=0 17 sum=0 18 else 19 nowTime=$(date +%s) 20 let diffTime=nowTime-startTime 21 if [ "$diffTime" -ge "$aDay" ];then 22 sum_day=`awk '/nvme0n1/ {sum_day += $7};END {print sum_day}' output` #將文件output中有sda行的第7列值求和 23 sum=$(echo "scale=2; $sum+$sum_day" | bc) #一個週期內的寫帶寬總量 24 printTime=$(date +%Y/%m/%d-%H:%M:%S) 25 echo -e "$printTime The result of a day is $sum_day MB \n" >> totalWriteSize.out 26 cp output output"$count" 27 echo > output 28 let count++ 29 startTime=$nowTime 30 fi 31 sleep 1 32 fi 33 done