LTO 테이프를 백업하고 있습니다. 내 백업에는 작은 파일이 많이 포함되어 있기 때문에 디스크에서 읽는 속도가 느려집니다. 테이프의 구두 광택을 방지하기 위해 buffer 명령을 사용하고 있습니다.
bkname="test"; tobk="*"
totalsize=$(du -csb $tobk | tail -1 | cut -f1)
tar cvf - $tobk | tee >(sha512sum > $bkname.sha512) >(tar -tv > $bkname.lst) | mbuffer -m 4G -P 100% | pv -s $totalsize -w 100 | dd of=/dev/nst0 bs=256k
이 접근 방식의 문제점은 tar 명령이 테이프에 직접 액세스하지 않아 전체 테이프를 인식하지 못하기 때문에 여러 테이프에 걸쳐 백업할 수 없다는 것입니다.
작은 파일을 버퍼링하고 여러 테이프 백업을 동시에 수행하는 올바른 방법은 무엇입니까?
답변1
star
대신 GNU를 사용해 보십시오 tar
. 이 star
프로그램에는 문제를 해결하는 버퍼링 도구가 내장되어 있습니다.
답변2
tar 아카이브의 크기는 계산된 크기가 아닙니다. 비행 전 실행만 하면 올바른 크기를 얻을 수 있지만 작업이 두 배로 늘어납니다. 한 가지 예:
~# du -csb /usr | tail -1 | cut -f1
=> 1585916720
~# tar --totals -cf /dev/null /usr
=> 1656514560
내 조언: dar와 같은 강력한 백업 도구를 사용하세요.http://dar.linux.free.fr/