要重新格式化一些磁盘,我使用以下脚本:
for i in {1..7};
do
echo -e "\e[33mFormat Disk: /dev/sg$i"
echo -e "\e[39m---------------------------"
sg_format -v --format --size=512 /dev/sg$i &
done
命令
sg_format
可以以所有 7 个磁盘并行格式化的方式启动,但是当报告格式化过程的进度(以 % 为单位)时,控制台上的输出现在是一团糟。
我可以改为序列化,但 (hdd) 磁盘的格式将花费很长时间。 有没有一种简单的方法来捕捉每次跑步的进度
sg_format
并像这样整理他的:
echo "status sg_format on disk /dev/sg$i"
--> output progress from sg_format
一个选择是单独启动它们
xterms
xterm -e "sg_format -v --format --size=512 /dev/sg$i; sleep 30 &
不完美,但以我有限的 bash 知识,一个可以接受的解决方案:
sgFormatCount=0
sgFormatCount=$(pgrep sg_format | wc -l)
if [ $sgFormatCount = 0 ]
then
for i in {1..7};
do
sg_format --format --size=512 /dev/sg$i &
done
fi
一旦 sg_format 在所有磁盘上启动,监控运行进度:
while true;
do
for i in {1..7};
do
sg_format -v /dev/sg$i
done
sleep 60
done