Kuinka kopioida kansio etäyhteydeltä paikalliseen isäntäkoneeseen käyttämällä scp
?
Käytän ssh
:tä kirjautuakseni palvelimelle.
Sitten haluaisin kopioida etäkansion foo
paikalliseen /home/user/Desktop
.
Miten tämä onnistuu?
scp -r [email protected]:/path/to/foo /home/user/Desktop/
man scp
:stä (Katso online-käsikirja).
-r Kopioi rekursiivisesti kokonaisia hakemistoja.
Jotta voit käyttää scp:n täyttä tehoa, sinun on käytävä läpi seuraavat vaiheet:
Sitten, jos sinulla on esimerkiksi tämä ~/.ssh/config:
Host test
User testuser
HostName test-site.com
Port 22022
Host prod
User produser
HostName production-site.com
Port 22022
säästyt salasanan syöttämiseltä ja yksinkertaistat scp-syntaksia näin:
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
Lisäksi voit käyttää etäpolun täydennystä:
scp test:/var/log/ # press tab twice
Display all 151 possibilities? (y or n)
Päivitys:
Etäbash-täydennyksen käyttöönotto edellyttää, että sinulla on bash-shell sekä <lähde>
- että <kohde>
-isännillä ja että bash-täydennys toimii kunnolla. Lisätietoja on aiheeseen liittyvissä kysymyksissä:
(https://unix.stackexchange.com/questions/33336/how-to-enable-autocompletion-for-remote-paths-when-using-scp)
SCP:n tiedostonimen välilehden täydennys
Parempi pakata luettelo ensin etäpalvelimella:
tar czfP backup.tar.gz /path/to/catalog
Toiseksi lataa etäpalvelimelta:
scp [email protected]:/path/to/backup.tar.gz .
Pura lopuksi tiedostot:
tar -xzvf backup.tar.gz