Google Cloud Compute Server에서 로컬 컴퓨터로 파일을 복사하는 방법


11

Google Cloud Compute (Linux Debian 실행)에서 모든 서버 파일을 다운로드하려고합니다. SSH 및 Google Cloud Compute에 익숙하지 않습니다. 모든 파일을 복사하거나 (git pull 요청과 유사) zip을 만들고 다운로드하는 것을 선호합니다. 요컨대 제거 Google Cloud 서버의 모든 파일을 로컬 컴퓨터에 복사해야합니다.

미리 감사드립니다.


어쩌면 이것은 당신에게 또 다른 옵션을 제공 할 수 있습니다 stackoverflow.com/a/27792823/2406499을
user145422

답변:


12

사용해보십시오 gcloud compute scp:

gcloud compute scp 
  [[USER@]INSTANCE:]SRC [[[USER@]INSTANCE:]SRC …]
  [[USER@]INSTANCE:]DEST
  [--compress] [--dry-run] [--force-key-file-overwrite]
  [--plain] [--port=PORT] [--recurse] [--scp-flag=SCP_FLAG]
  [--ssh-key-file=SSH_KEY_FILE]
  [--strict-host-key-checking=STRICT_HOST_KEY_CHECKING]
  [--zone=ZONE]
  [GCLOUD_WIDE_FLAG …]
  [-h]

예를 들어

$ gcloud compute scp \
    my-instance-1:~/file-1 \
    my-instance-2:~/file-2 \
    ~/my-destination \
    --zone us-central2-a

다른 방법으로, 당신은 또한 (비 사용 gcloud) sftp또는 scp; 지정해야하는 명령 줄 인수에 대한 자세한 내용 은 이 SO 답변 을 참조하십시오.

sftp -o IdentityFile ~/.ssh/google_compute_engine user@host

다른 SFTP 도구를 사용하려면 SSH 프라이빗 키에 대한 경로를 비슷하게 제공하면 인스턴스에 연결할 수 있습니다. 그러나의 경우 gcloud호스트 이름을 공개 IP 자체로 확인할 수 있습니다. 다른 모든 도구의 경우 IP를 수동으로 찾아서 IP 주소를 직접 지정해야합니다.


대박. 파일을 제거한 다음 복사 할 때 파일을 삭제하는 방법이 있습니까?
남자 남자

@MCllorf — 요청한 내용을 잘 모르겠습니다. 자세한 내용과 달성하려는 사용 사례 또는 목표가있는 다른 질문을여시겠습니까?
Misha Brukman

1
나는 분명히 더 잘 표현할 수 있었다. 내 목표는 파일을 다른 곳에 복사 한 다음 불필요한 공간을 차지하지 않도록 원본을 삭제하는 것이 었습니다. 나는 이미 그것을 알아 냈습니다 :) 감사합니다!
남자 남자

5

( gcloud compute copy-files지금은 더 이상 사용되지 않으므로 gcloud compute scp권장됩니다)

다음 gcloud compute scp과 같이 사용하십시오 :

gcloud compute scp [[USER@]INSTANCE:]SRC [[[USER@]INSTANCE:]SRC …]
[[USER@]INSTANCE:]DEST [--compress] [--dry-run] [--force-key-file-overwrite]
[--plain] [--port=PORT] [--recurse] [--scp-flag=SCP_FLAG] 
[--ssh-key-file=SSH_KEY_FILE] [--strict-host-key-checking=STRICT_HOST_KEY_CHECKING]
[--zone=ZONE] [GCLOUD_WIDE_FLAG …]

예를 들면 다음과 같습니다.

$ gcloud compute scp example-instance:~/REMOTE-DIR ~/LOCAL-DIR \
      --zone us-central1-a

영역이 이미 설정되어있는 경우 ( gcloud config set compute/zone ZONE환경 변수 사용 또는 사용) , 위의 영역을 지정할 필요가 없습니다.

또한 gcloud compute scp기본적으로 재귀 적으로 복사하지 않습니다. --recurse플래그 를 사용해야합니다 .

자세한 문서는 여기를 참조 하십시오 .


2

SFTP를 사용할 수 있습니다 (Google은 Filezilla를 문서에 사용했습니다). CLI에 익숙하지 않으므로 GUI 옵션 Filezilla 및 기타가 제공하는 것과 같습니다.

높은 수준의 단계는 다음과 같습니다.

  1. gcloud SDK 설치 및 실행 ( $ gcloud init)
  2. SSH 키 생성 ( $ gcloud compute ssh)
  3. FTP 클라이언트 설정 (키 파일 설치 및 추가)
  4. SFTP 클라이언트를 사용하여 VM에 연결

그리고 여기 구글의 문서 가 있습니다.

또한 이것을 기록했는데 도움이 될 수 있습니다.

https://www.youtube.com/watch?v=9ssfE6ODpak


0

이것은 나를 위해 일했다

구문 :

gcloud compute scp <UserName>@<ServerName/InstanceName>:~/<FilePathFromInstance> <LocalSystemFilePath>

0

Google Cloud Console이 제공하는 웹 기반 터미널을 통해 인스턴스에 연결하는 경우 오른쪽 상단 모서리에서 코 그를 클릭하고 "파일 다운로드"를 선택한 다음 파일의 전체 경로를 입력하면 브라우저를 통해 다운로드됩니다 . 업로드도 마찬가지입니다.

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.