GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya bisa menyalin file dari Google Cloud Compute Server ke mesin lokal saya

Coba gunakan gcloud compute scp :

gcloud compute scp 
  [[[email protected]]INSTANCE:]SRC [[[[email protected]]INSTANCE:]SRC …]
  [[[email protected]]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]

mis.,

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

Sebagai alternatif, Anda juga dapat menggunakan (non-gcloud ) sftp atau scp; lihat jawaban SO ini untuk perincian tentang argumen baris perintah yang perlu Anda tentukan, yang akan saya kutip di sini untuk kesederhanaan:

sftp -o IdentityFile ~/.ssh/google_compute_engine [email protected]

Untuk menggunakan alat SFTP lainnya, berikan juga jalur ke kunci pribadi SSH dan itu akan dapat terhubung ke instance. Namun, dalam kasus gcloud , itu dapat menyelesaikan sendiri nama host ke IP publik; untuk semua alat lainnya, Anda harus menemukan IP secara manual dan menentukan alamat IP secara langsung.


(gcloud compute copy-files sudah tidak digunakan lagi sekarang, karenanya gcloud compute scp disarankan)

Gunakan gcloud compute scp sebagai berikut:

gcloud compute scp [[[email protected]]INSTANCE:]SRC [[[[email protected]]INSTANCE:]SRC …]
[[[email protected]]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 …]

Misalnya:

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

Jika zona sudah diatur (menggunakan gcloud config set compute/zone ZONE atau melalui variabel lingkungan, maka Anda tidak perlu menentukan zona di atas)

Juga, gcloud compute scp tidak menyalin secara rekursif secara default. Kita perlu menggunakan --recurse bendera untuk itu.

Lihat dokumentasi mendetail di sini.


Mungkin Anda bisa menggunakan SFTP (google menggunakan Filezilla di dokumen mereka). Saya tidak terlalu mahir dengan CLI dan karenanya menyukai opsi GUI yang disediakan Filezilla dan lainnya.

Berikut adalah langkah-langkah pada tingkat tinggi:

  1. Instal dan jalankan gcloud SDK ($ gcloud init )
  2. Buat kunci SSH ($ gcloud compute ssh )
  3. Siapkan klien FTP (pasang dan tambahkan file kunci)
  4. Hubungkan ke VM menggunakan klien SFTP

Dan ini dokumentasi dari Google.

Juga, saya telah merekam ini, mungkin berguna:

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


Linux
  1. Cara mengunduh File dari server SFTP Menggunakan skrip python

  2. Bagaimana cara menyalin seluruh folder dari instance Linux Amazon EC2 ke mesin Linux lokal?

  3. Bagaimana cara menyalin file dari dockerfile ke host?

  1. Bagaimana saya bisa memulihkan/membatalkan penghapusan file dari partisi ext4?

  2. Bagaimana cara menggunakan rsync dari PC Windows ke server Linux jarak jauh?

  3. Bagaimana cara mengunggah banyak file ke FTP dari server Linux?

  1. Bagaimana saya bisa menyalin folder dari baris perintah Linux?

  2. Bisakah saya terhubung ke mesin Windows dari shell Linux?

  3. Cara mengambil banyak file dari mesin jarak jauh ke lokal dengan Ansible