Kaip nukopijuoti aplanką iš nuotolinio į vietinį kompiuterį naudojant scp
?
Norėdamas prisijungti prie savo serverio, naudoju ssh
.
Tada norėčiau nukopijuoti nuotolinį aplanką foo
į vietinį aplanką /home/user/Desktop
.
Kaip tai padaryti?
scp -r [email protected]:/path/to/foo /home/user/Desktop/
Iš man scp
(žr. internetinį vadovą)
-r Pakartotinai kopijuoti ištisus katalogus
Norėdami naudotis visomis scp galimybėmis, turite atlikti kitus veiksmus:
Tada, pavyzdžiui, jei turite šį ~/.ssh/config:
Host test
User testuser
HostName test-site.com
Port 22022
Host prod
User produser
HostName production-site.com
Port 22022
išgelbėsite save nuo slaptažodžio įvedimo ir supaprastinsite scp sintaksę, pvz:
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
Be to, galėsite naudoti nuotolinį kelio užbaigimą:
scp test:/var/log/ # press tab twice
Display all 151 possibilities? (y or n)
Atnaujinta:
Norint įjungti nuotolinį bash užbaigimą, reikia, kad tiek <source>
, tiek <target>
kompiuteriuose veiktų bash-shell ir tinkamai veiktų bash užbaigimas. Daugiau informacijos rasite susijusiuose klausimuose:
[Kaip įjungti nuotolinių kelių automatinį užbaigimą naudojant scp?] (https://unix.stackexchange.com/questions/33336/how-to-enable-autocompletion-for-remote-paths-when-using-scp)
SCP failo vardo skirtuko pildymas
Geriau pirmiausia suspausti katalogą nutolusiame serveryje:
tar czfP backup.tar.gz /path/to/catalog
Antra, atsisiųskite iš nuotolinio:
scp [email protected]:/path/to/backup.tar.gz .
Pabaigoje išskleiskite failus:
tar -xzvf backup.tar.gz