최상위 명령줄 옵션

설명

gsutil은 최상위 gsutil 명령어와 개별 하위 명령어(예: cp, rm)에 별도의 옵션을 지원합니다. 최상위 옵션은 여러 명령어에 적용되는 gsutil의 동작을 제어합니다. 예를 들어 다음과 명령어가 있습니다.

gsutil -m cp -p file gs://bucket/obj

이 명령어에서 -m 옵션은 gsutil에 적용되는 반면 -p 옵션은 cp 하위 명령어에 적용됩니다.

옵션

-D

예외 스택 트레이스를 포함하여 지원 요청을 게시할 때 필요한 HTTP 요청/헤더와 추가 디버그 정보를 표시합니다.

-DD -D와 HTTP 업스트림 페이로드를 더한 것과 같습니다.
-h

특정 HTTP 헤더를 지정할 수 있습니다. 예를 들면 다음과 같습니다.


gsutil -h "Cache-Control:public,max-age=3600" \
       -h "Content-Type:text/html" cp ...

셸에서 별도의 인수로 분할되지 않도록 공백이 포함된 헤더/값(예: 'Content-Disposition: attachment; filename=filename.ext')을 따옴표로 묶어야 합니다.

다음 헤더는 객체 메타데이터로 저장되고 나중에 객체 요청에서 사용됩니다.


Cache-Control
Content-Disposition
Content-Encoding
Content-Language
Content-Type

다음 헤더는 데이터 무결성을 확인하는 데 사용됩니다.


Content-MD5

gsutil은 다음과 같은 일치하는 Cloud Storage 제공업체 프리픽스가 있는 커스텀 메타데이터 헤더도 지원합니다.


x-goog-meta-

gs:// URL의 경우 Cache Control 헤더는 사용 중인 API에만 적용됩니다. XML API는 모든 cache control 헤더를 허용하며 객체 다운로드 중에 반환합니다. JSON API는 public, private, no-cache, max-age cache control 헤더만 적용하며, 지정되지 않은 경우에도 no-transform 지시문을 자체적으로 추가할 수 있습니다. gsutil과 API의 상호작용에 대한 자세한 내용은 gsutil help apis를 참조하세요.

업로드된 객체에 메타데이터 필드를 설정하는 방법은 gsutil help setmeta를 참조하세요.

-i

구성된 사용자 인증 정보를 사용하여 서비스 계정을 가장할 수 있습니다. 예를 들면 다음과 같습니다.


gsutil -i "service-account@google.com" ls gs://pub

이 설정은 XML API와 S3에서 무시됩니다. 서비스 계정을 가장하는 방법에 대한 자세한 내용은 gsutil help creds를 참조하세요.

-m

지원되는 작업(acl ch, acl set, cp, mv, rm, rsync, setmeta)이 동시에 실행됩니다. 이렇게 하면 비교적 빠른 네트워크 연결을 통해 다수의 파일에 작업을 수행할 때 성능이 크게 향상될 수 있습니다.

gsutil은 멀티 스레드 및 멀티 프로세싱을 조합하여 지정된 작업을 수행하며, 이때 boto 구성 파일에 설정된 parallel_thread_count 값과 parallel_process_count 값에 따라 결정된 스레드와 프로세서의 수를 사용합니다. 최적의 값은 네트워크 속도, CPU 수, 사용 가능한 메모리 등 다양한 요인에 따라 달라질 수 있으므로 이러한 값을 실험해 보는 것이 좋습니다.

-m 옵션을 사용하면 속도가 느린 네트워크(예: 비사업용 홈 네트워크 요금제에서 제공되는 일반적인 네트워크 속도)를 사용할 때 성능이 저하될 수 있습니다. 또한 로컬 디스크를 '스래시'할 수 있으므로 로컬에서 모든 작업(예: 소스 및 대상 URL이 모두 로컬 디스크에 있는 경우의 gsutil rsync)을 수행할 때에도 성능이 저하될 수 있습니다.

전체 전송이 완료되기 전에 동시 전송을 사용하는 다운로드나 업로드 작업이 실패하면(예: 파일 1,000개 중 300개가 전송된 후 실패) 전체 전송을 다시 시작해야 합니다.

또한 -m 플래그를 중지하면 오류 발생 시 일반적으로 대부분의 명령어가 실패합니다. 하지만 멀티 스레드 또는 멀티 프로세스로 -m을 사용 설정하면 모든 명령어가 계속 모든 작업을 시도하며 명령어 실행이 끝날 때 실패한 작업 횟수(있는 경우)가 예외로 보고됩니다.

-o boto 구성 값을 <section>:<name>=<value> 형식으로 설정/재정의합니다(예: gsutil -o "Boto:proxy=host" ...). 이렇게 하면 별도의 프로세스에서 실행되는 gsutil 통합 테스트에 옵션이 전달되지 않습니다.
-q gsutil이 파일의 복사 또는 삭제 진행률을 표시하지 않고 자동으로 작업을 수행합니다. 오류는 계속 보고됩니다. 이 옵션은 출력을 파일에 로깅하고 로그 정보 중 오류만 필요한 크론 작업에서 gsutil을 실행하는 데 유용할 수 있습니다.
-u

요청 요금이 청구되는 사용자 프로젝트를 지정할 수 있습니다. 예를 들면 다음과 같습니다.


gsutil -u "bill-this-project" cp ...