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ť?
scp -r [email protected]:/path/to/foo /home/user/Desktop/
Z man scp
(Pozri online manuál)
-r Rekurzívne kopírovanie celých adresárov
Ak chcete naplno využiť výkon funkcie scp, musíte prejsť ďalšími krokmi:
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 <source>
a <target>
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
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 [email protected]:/path/to/backup.tar.gz .
Na konci rozbaľte súbory:
tar -xzvf backup.tar.gz