하나의 명령으로 Tar 증분 백업 복원

하나의 명령으로 Tar 증분 백업 복원

증분 백업을 복원하려고 하는데 이렇게 하려면 각 아카이브를 순차적으로 추출해야 합니다.

tar cvf archive.1.tar -g archive.snar backup

백업 폴더를 변경합니다.

tar cvf archive.2.tar -g archive.snar backup

변화를 만들다

tar cvf archive.3.tar -g archive.snar backup

내가 할 때

tar --list --incremental --verbose --verbose --file archive.3.tar

현재 스냅샷의 파일 목록을 볼 수 있습니다. 하지만 다음을 실행해야 합니다.

tar xvf archive.1.tar -g /dev/null -C destination
tar xvf archive.2.tar -g /dev/null -C destination
tar xvf archive.3.tar -g /dev/null -C destination

마지막 백업을 순서대로 가져옵니다. 하나의 명령으로 이를 수행할 수 있는 방법이 있습니까?

tar {some options} archive.3.tar

답변1

cat archive.*tar |tar xvf - -g /dev/null --ignore-zeros -C destination

tar 파일의 끝은 "아카이브 끝" 표시입니다(0바이트의 2x 512 블록). 어떤 경우에는 Tar가 이 표시를 계속 읽지만 데이터를 얻지 못합니다.

--ignore-zeroes어쨌든 계속 읽으라고 말할 것입니다.

관련 항목: Tar는 아카이브에 추가하는 기능을 지원합니다. 끝까지 찾아서 두 블록을 되감은 다음 계속해서 쓰기를 수행합니다.

관련 정보