Ako skopírovať priečinok zo vzdialeného do miestneho pomocou scp?

Ako skopírovať priečinok zo vzdialeného na miestneho hostiteľa pomocou scp?

Na prihlásenie na server používam ssh.
Potom by som chcel skopírovať vzdialený priečinok foo do miestneho priečinka /home/user/Desktop.

Ako to dosiahnuť?

Riešenie
scp -r user@your.server.example.com:/path/to/foo /home/user/Desktop/

Z man scp (Pozri online manuál)

-r Rekurzívne kopírovanie celých adresárov

Komentáre (11)

Ak chcete naplno využiť výkon funkcie scp, musíte prejsť ďalšími krokmi:

  1. Outorizácia verejného kľúča
  2. Vytvorenie aliasov ssh

Potom, ak máte napríklad toto ~/.ssh/config:

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

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

ušetríte si zadávanie hesla a zjednodušíte si syntax scp takto:

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

Navyše budete môcť používať vzdialené dokončovanie ciest:

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

Aktualizácia:

Na povolenie vzdialeného dokončovania bash potrebujete mať na oboch hostiteľoch a bash-shell a správne fungujúce dokončovanie bash. Viac informácií nájdete v súvisiacich otázkach:

Ako zapnúť automatické dokončovanie vzdialených ciest pri použití scp?
Doplňovanie tabulátora s názvom súboru SCP

Komentáre (10)

Lepšie je najprv skomprimovať katalóg na vzdialenom serveri:

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

Po druhé, stiahnite zo vzdialeného servera:

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

Na konci rozbaľte súbory:

tar -xzvf backup.tar.gz
Komentáre (2)