그래서 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
. 나는 그것이 실제로 무엇을 반영하는지 솔직히 전혀 모르기 때문에 이렇게 표현합니다.