알았어, 방금 다 읽었어이 페이지내 데비안 서버의 현재 백업 솔루션을 개선한 후. Tar는 꽤 좋은 다중 볼륨 기능을 제공하는 것 같습니다. 하지만 제가 시도했을 때 그렇게 해야 했습니다 Prepare volume #X for ‘mybackup.tar.gz’ and hit return:
.
아무도 Enter 키를 누르지 않고 다중 볼륨 프롬프트에 필요한 내용을 입력하지 않는 자동화된 CRON 스크립트에서 이 기능을 사용하고 싶기 때문에 이를 자동화하려면 어떻게 해야 합니까?
split
유일한 방법을 사용하고 있습니까 ?
답변1
해결책은 다음과 같습니다.
printf 'n file-%02d.tar\n' {2..100} |
tar -ML 716800 -cf file-01.tar Documents/ 2>/dev/null
여기서 100은 볼륨 수보다 크거나 같은 숫자입니다.
편집하다
나는 터무니없는 숫자를 받아들이지 않는 경향이 있지만 큰 숫자를 설정하는 것은 문제가 되지 않습니다.
또 다른 옵션은 다음과 같습니다."다음 볼륨" 스크립트, 옵션을 사용하여 설정할 수 있습니다 -F
.
tar -ML 716800 -F './myscript file' -cf file.tar Documents/ 2>/dev/null
그리고 ./myscript
넣어
#!/bin/bash
prefix="$1"
n=1
while [[ -e "$prefix-$n.tar" ]]; do
((n++))
done
mv "$prefix.tar" "$prefix-$n.tar"
echo "$prefix-$n.tar"
각 볼륨의 끝에서 실행되며 file.tar
해당 볼륨으로 이동됩니다 fileNNN.tar
. 마지막 볼륨의 경우 스크립트가 실행되지 않으므로 마지막 볼륨 이름이 유지됩니다 file.tar
.
편집 2
나는 다음과 같은 자세한 해결책을 찾았습니다.
다음은 생성용 스크립트와 추출용 스크립트 두 개입니다.
#!/bin/bash
# CREATION SCRIPT
# save on file the initial volume number
echo 1 >number
# multi-volume archive creation
tar -ML 100000 -F './tar-multi-volume-script c file' -cf file.tar Documents2/ 2>&-
# execute the "change-volume" script a last time
./tar-multi-volume-script c file
그리고
#!/bin/bash
# EXTRACTION SCRIPT
# save on file the initial volume number
echo 1 >number
# execute the "change-volume" script a first time
./tar-multi-volume-script x file
# multi-volume archive extraction
tar -M -F './tar-multi-volume-script x file' -xf file.tar 2>&-
# remove a spurious file
rm file.tar
이는 ./tar-multi-volume-script
다음 공식으로 주어진다.
#!/bin/bash
# TAR INVOKED SCRIPT
mode="$1"
prefix="$2"
n=$(<number)
case $mode in
c) mv "$prefix.tar" "$prefix-$n.tar" ;;
x) cp "$prefix-$n.tar" "$prefix.tar" ;;
esac
echo $((n+1)) >number
분명히 상황에 맞게 여기저기서 많은 부분을 변경하고 제대로 작동하는지 확인해야 하는데 cron
, 이는 항상 약간의 어려움입니다.
답변2
의심스러우면 설명서를 읽어보세요...
http://www.gnu.org/software/tar/manual/html_node/Multi_002dVolume-Archives.html
또는 즐겨 사용하는 인터넷 검색 엔진에서 다음 검색 문자열을 사용하세요.
"테이프나 디스크보다 긴 아카이브"
GNU의 해당 부분아스팔트매뉴얼은 적절한 스크립트(라고 함)를 제공합니다.새 볼륨) 그리고 사용-에프tar 명령에 대한 옵션입니다. 원하는 경우 이 스크립트를 원하는 대로 조정할 수 있습니다.
즐기다!