Scp kullanarak bir klasörü uzaktan yerele nasıl kopyalarım?

Bir klasör scp kullanılarak uzak ana bilgisayardan yerel ana bilgisayara nasıl kopyalanır?

Sunucumda oturum açmak için ssh kullanıyorum.
Ardından, uzaktaki foo klasörünü yerel /home/user/Desktop klasörüne kopyalamak istiyorum.

Bu nasıl başarılır?

Çözüm
scp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/

Man scp`den (Bkz. çevrimiçi kılavuz)

-r Tüm dizinleri özyinelemeli olarak kopyalama

Yorumlar (11)

Scp**'nin tüm gücünü kullanmak için sonraki adımları uygulamanız gerekir:

  1. Genel anahtar yetkilendirmesi
  2. Ssh takma adları oluştur

Sonra, örneğin bu ~/.ssh/config varsa:

Host test
    User testuser
    HostName test-site.com
    Port 22022

Host prod
    User produser
    HostName production-site.com
    Port 22022

kendinizi şifre girmekten kurtaracak ve scp sözdizimini bu şekilde basitleştireceksiniz:

scp -r prod:/path/foo /home/user/Desktop   # copy to local
scp -r prod:/path/foo test:/tmp            # copy from remote prod to remote test

Dahası, uzaktan yol tamamlamayı kullanabileceksiniz:

scp test:/var/log/  # press tab twice
Display all 151 possibilities? (y or n)

Güncelleme:

Uzaktan bash-tamamlamayı etkinleştirmek için hem hem de ana bilgisayarlarında bash-shell'e ve düzgün çalışan bash-tamamlamaya sahip olmanız gerekir. Daha fazla bilgi için ilgili sorulara bakınız:

Scp kullanırken uzak yollar için otomatik tamamlama nasıl etkinleştirilir?
SCP dosya adı sekmesi tamamlama

Yorumlar (10)

Önce uzak sunucudaki kataloğu sıkıştırmak daha iyidir:

tar czfP backup.tar.gz /path/to/catalog

İkinci olarak, uzaktan indirin:

scp user@your.server.example.com:/path/to/backup.tar.gz .

Sonunda dosyaları ayıklayın:

tar -xzvf backup.tar.gz
Yorumlar (2)