확인하고 싶은 압축되지 않은 대용량 tar 파일(1TB)이 있어서 모든 것이 잘 되었는지 확인하기 위해 압축을 풀어 보았습니다. 시간이 오래 걸리기 때문에 가져오는 동안 화면에 일부 정보를 인쇄하고 싶습니다. 권장되는 체크포인트 조치가 너무 나쁩니다.여기예상대로 작동하지 않습니다. 이 명령을 시도하면:
tar -xf big_fat_backup.tar --checkpoint=10000 --checkpoint-action=ttyout='%{%Y-%m-%d %H:%M:%S}t (%d sec): #%u, %T%*\r'
문자열의 메타 문자는 확장되지 않으며(%u 제외) 다음과 같은 출력이 표시됩니다.
%{%Y-%m-%d %H:%M:%S}t (%d sec): #10000, %T%*
방금 매뉴얼에서 복사했는데, 내가 뭘 잘못하고 있는 걸까요?
보너스 질문: -W 스위치를 사용하여 아카이브를 생성했는데 오류가 인쇄되지 않으면 아카이브가 올바르게 기록되었는지 확인해야 합니까?
답변1
이러한 메타문자는 다음 --checkpoint-action
과 같습니다.버전 1.28에서 도입됨, 일주일 전에 출시되었습니다.
tar
필요한 경우 대략적인 진행 상태를 얻는 한 가지 방법은 프로세스가 입력 파일의 어디에 있는지 확인하는 것입니다. lsof -p1234
1234가 프로세스의 PID인 곳을 볼 수 있습니다 tar
. Linux에서는 pos:
확인할 수 있습니다 /proc/1234/fdinfo/3
.
화면에 진행 보고서를 표시하려면 다음을 기준으로 아카이브를 필터링할 수 있습니다.pv
.
<big_fat_backup.tar pv -bt | tar -xf -
아카이브가 올바르게 작성되었는지 확인하려면 tar
명령의 종료 상태를 확인하십시오. 이는 다른 명령에도 적용됩니다. 종료 상태 0은 성공을 나타내고 0이 아닌 값은 실패를 나타냅니다.