¿Cómo puedo copiar archivos de un Servidor de Computación en la Nube de Google a mi máquina local?

11

Estoy tratando de descargar todos los archivos del servidor de Google Cloud Compute (ejecutando Linux Debian). No estoy muy familiarizado con SSH y Google Cloud Compute en general. Prefiero copiar todos los archivos (similar a una solicitud de extracción de git) o ​​crear un zip y descargarlo. En resumen, necesito copiar todos los archivos en el servidor Google Cloud eliminado a mi máquina local.

Gracias de antemano.

usuario1890328
fuente
tal vez esto pueda darle otra opción stackoverflow.com/a/27792823/2406499
user145422

Respuestas:

12

Intenta usar 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]

p.ej,

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

Como alternativa, también puede usar (no gcloud) sftpo scp; vea esta respuesta SO para obtener detalles sobre los argumentos de la línea de comandos que necesita especificar, que citaré aquí por simplicidad:

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

Para usar cualquier otra herramienta SFTP, proporcione de manera similar la ruta a la clave privada SSH y podrá conectarse a la instancia. Sin embargo, en el caso de gcloud, puede resolver el nombre de host a la IP pública; para todas las demás herramientas, deberá buscar la IP manualmente y especificar la dirección IP directamente.

Misha Brukman
fuente
Increíble. ¿Hay alguna forma de eliminar archivos y luego eliminarlos a medida que se copian?
hombre hombre
@MCllorf: no estoy seguro de seguir lo que está preguntando, ¿puede abrir otra pregunta con más detalles y el caso de uso u objetivo que está tratando de lograr?
Misha Brukman
1
Lo siento, definitivamente podría haber dicho eso mejor. Mi objetivo era copiar el archivo en otro lugar y luego eliminar el original para que no ocupe espacio innecesario. Sin embargo, ya lo he descubierto :) ¡gracias!
hombre hombre
5

( gcloud compute copy-filesahora está en desuso, por gcloud compute scplo tanto, se recomienda)

Use de la gcloud compute scpsiguiente manera:

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 …]

Por ejemplo:

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

Si la zona ya está configurada (usando gcloud config set compute/zone ZONEo mediante la variable de entorno, entonces no necesita especificar la zona anterior)

Además, gcloud compute scpno se copia de forma recursiva de forma predeterminada. Necesitamos usar la --recursebandera para ello.

Vea la documentación detallada aquí .

Anupam
fuente
2

Tal vez pueda usar SFTP (Google usó Filezilla en sus documentos). No soy muy bueno con la CLI y, por lo tanto, me gustan las opciones de GUI que Filezilla y otras proporcionan.

Estos son los pasos a un alto nivel:

  1. Instale y ejecute el SDK de gcloud ( $ gcloud init)
  2. Generar clave SSH ( $ gcloud compute ssh)
  3. Configure el cliente FTP (instale y agregue el archivo de clave)
  4. Conéctese a la VM utilizando el cliente SFTP

Y aquí hay documentación de Google.

Además, he grabado esto, podría ser útil:

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

Naresh MG
fuente
0

Esto funciono para mi

Sintaxis:

gcloud compute scp <UserName>@<ServerName/InstanceName>:~/<FilePathFromInstance> <LocalSystemFilePath>
Viraj.Hadoop
fuente
0

Si se conecta a la instancia a través del terminal basado en la web que proporciona Google Cloud Console, puede hacer clic en el engranaje en la esquina superior derecha y seleccionar "Descargar archivo", luego ingresar la ruta completa al archivo y se descargará a través del navegador . Lo mismo ocurre con la carga.

ingrese la descripción de la imagen aquí

DataGreed
fuente