Tar는 진행률 표시줄을 사용하고 여러 볼륨을 처리합니다.

Tar는 진행률 표시줄을 사용하고 여러 볼륨을 처리합니다.

여러 외부 드라이브에 대용량 LVM 볼륨을 tar로 저장하려고 합니다. 그 부분은 해결되었습니다. 이제 이것은 긴 과정이므로 진행률 표시줄이 필요합니다. 여기의 훌륭한 기사를 통해 가까워지고 있습니다.

문제는 첫 번째 볼륨이 채워진 후 PV 스트립이 종료된다는 것입니다. 디스크 교체 후에도 PV가 계속 업데이트되기를 원합니다. 이 문제를 해결하는 방법을 아는 사람이 있나요?

내가 시도한 것은 다음과 같습니다.

코드 ExtBackup.sh:

#!/bin/sh

changedisk()
{
# This routine is called when tar runs out of disk space
# It simply waits for operator to change and mount disks
# then updates the file handle with a new volume number.
echo "Change disks now!" 
read -p "Press <enter> when new disk is mounted. ..." NULL
echo ""

# Update the file name with the new volume number
name=`expr $TAR_ARCHIVE : '\(.*\)-.*'`
echo ${name:-$TAR_ARCHIVE}-Vol$TAR_VOLUME.tar >&$TAR_FD
}

###########
## MAIN  ##
###########

# Test for recursive call to change disks
if [ "$1" = 'changedisk' ]; then 
        changedisk
        exit 0;
fi

# If this is initial call, set SIZE to calculate bytes in source    
SIZE=`du -sb *Folder_Name* | cut -f 1`

# Now TAR it, using Multi-volume option and pipe through PV for progress bar
tar -cM -F 'sh ExtBackup.sh changedisk' *Folder_Name* | \
pv -s ${SIZE} > LVMBackup-$(date +%m-%d-%y)-Vol1.tar

답변1

어쩌면 tar가 모든 출력 데이터를 stdout으로 보내기 -f -전에 강제로 시도해 볼 수 있을까요?-F

관련 정보