
そのため、BTRFSドライブがあり、現在組み込まれているBTRFSボリュームRAIDツールを使用して、RAIDアレイのあるドライブから別のドライブにデータを移動する交換操作を実行しています。交換が完了したら、さらにいくつかのタスクを実行する必要があります。 whileループで置換が実行されているか、whileループで実行されている他のタスクがあるかどうかを確認するにはどうすればよいですか?
答え1
で確認できますsudo btrfs replace status /path/to/mountpoint
。
スクリプトはコマンドを実行して、ジョブがまだ進行中であることを確認します。
#!/bin/bash
MOUNTPOINT="/path/to/mountpoint"
NEXT_OPERATION="sudo <some other command>"
while true; do
status=$(sudo btrfs replace status $MOUNTPOINT)
if [[ $status == "replace is done" ]]; then
echo "Replace is done, running next operation..."
$NEXT_OPERATION
break
fi
sleep 60 # Wait 60 seconds before checking again
done
完了したジョブの終了ステータスを知って、それを関連する"replace is done"
出力に置き換える必要がありますsudo btrfs replace status /path/to/mountpoint
。私はそれが実際に何を反映しているのか正直には全く知らないので、このように表現します。