Google Cloud Storage 버킷의 데이터(여러 파일 및 디렉터리)를 로컬 디스크의 Tar 아카이브에 써야 합니다. 디렉터리 크기는 여러 테라바이트이므로 디스크에 Tar 아카이브를 만든 다음 복사하고 싶지 않습니다.
나의 현재 전략은 gsutil(클라우드 저장소에서 복사하기 위한 Google의 Python 유틸리티)을 사용하고 이를 tar로 파이프하는 것입니다. 다음 명령을 사용하여 단일 텍스트 파일에서 테스트했습니다.
gsutil cp gs://data/myfile.txt - | tar -czvf myfile.tar.gz -T -
내가 겪고 있는 문제는 쉘이 텍스트 파일의 실제 내용을 확장하고 텍스트 파일을 tar에 인수로 전달하려고 하는 것 같습니다. 다음과 같은 오류 메시지가 나타납니다.
'ar: unrecognized option '---- BASELINE
내 텍스트 파일에 "---- BASELINE" 줄이 포함되어 있으므로 쉘이 텍스트 파일의 입력을 확장하려고 하는 것 같습니다. 몇 군데에 큰따옴표를 추가해 보았지만 알 수 없었습니다.
감사해요!