#!/bin/sh
#author:reed
#blog:luweikai.blog.51cto.com
#说明:使用自带的dd命令
file=dd.file
BS_COUNT_8K=(8K 12K)
BS_COUNT_64K=(64K 6K)
BS_COUNT_1M=(1M 1K)
list="8K 64K 1M"
wlog=/tmp/ddwrite.log
rlog=/tmp/ddread.log
#write
Write()
{
echo "[INFO]WRITE"
for i in $list;do
bs=$(eval echo \$\{BS_COUNT_$i\[0\]\})
count=$(eval echo \$\{BS_COUNT_$i\[1\]\})
echo "dd if=/dev/zero of=$file conv=fsync oflag=direct bs=$bs count=$count"
dd if=/dev/zero of=$file conv=fsync oflag=direct bs=$bs count=$count 2>>$wlog
echo " "
#echo "sleep 3"
sleep 3
done
}
#read
Read()
{
echo "[INFO]READ"
for i in $list;do
bs=$(eval echo \$\{BS_COUNT_$i\[0\]\})
count=$(eval echo \$\{BS_COUNT_$i\[1\]\})
echo "dd if=$file of=/dev/null iflag=direct bs=$bs count=$count"
dd if=$file of=/dev/null iflag=direct bs=$bs count=$count 2>> $rlog
echo " "
#echo "sleep 3"
sleep 3
done
}
Write|tee -a $wlog
echo "please wait 5 seconds......"
sleep 5
Read|tee -a $rlog