简单的统计剩余ceph迁移时间

需求

由于迁移忽快忽慢,需要知道大概的迁移的时间,做了一个简单的统计脚本,可能不准,大概能够知道在什么范围内

脚本

#! /bin/sh
while ( 2>1 )
do 
start=`ceph -s|grep pgs|grep mis|awk '{print $2}'|cut -d / -f 1`
sleep 5
end=`ceph -s|grep pgs|grep mis|awk '{print $2}'|cut -d / -f 1`
speed=$((start-end))
#echo $end
#echo $speed
second=$((end/speed*5))

hour=$(( $second/3600 ))
min=$(( ($second-${hour}*3600)/60 ))
sec=$(( $second-${hour}*3600-${min}*60 ))
echo 当前时间:`date`
echo 迁移剩余:$end
echo 迁移速度:$((speed/5))
echo 迁移还需要:${hour}小时${min}分${sec}秒

done

上面的统计周期为5秒,理论上设置的周期越长,统计的越接近真实的

原文地址:https://www.cnblogs.com/zphj1987/p/14265912.html