Una volta che ho inviato il mio server remoto, quale sarebbe il comando per copiare tutti i file da una directory a una directory locale sulla mia macchina?
Una volta che ho inviato il mio server remoto, quale sarebbe il comando per copiare tutti i file da una directory a una directory locale sulla mia macchina?
Risposte:
Dal tuo computer locale:
rsync -chavzP --stats user@remote.host:/path/to/copy /path/to/local/storage
Dal tuo computer locale con una porta ssh non standard:
rsync -chavzP -e "ssh -p $portNumber" user@remote.host:/path/to/copy /local/path
O dall'host remoto, supponendo che tu voglia davvero lavorare in questo modo e il tuo computer locale stia ascoltando su SSH:
rsync -chavzP --stats /path/to/copy user@host.remoted.from:/path/to/local/storage
Vedi man rsyncuna spiegazione dei miei soliti interruttori.
/path/to/local/storage. In questo modo /path/to/local/storage/copy. Se è quello che vuoi alla grande. Tuttavia, uno scenario più comune è che si desidera copiare il contenuto della directory remota in una directory nel proprio locale. Quindi faresti /path/to/copy/che collocherebbe il contenuto all'interno della directory /path/to/local/storagesenza creare una directory di copia locale.
Se si dispone dell'accesso SSH, non è necessario prima SSH e quindi copiare, basta utilizzare la copia protetta (SCP) dalla destinazione.
scp user@host:/path/file /localpath/file
Sono supportati i caratteri jolly, quindi
scp user@host:/path/folder/* /localpath/folder
copierà tutti i file remoti in quella cartella. Se copi più di una directory.
note -r copierà anche tutte le sottocartelle e i contenuti.
scppiuttosto che rsync? Inoltre, osserva che la tua shell non tenta di espandersi user@host:/path/folder/*, forse usando virgolette singole ( ').
scp, non era la mia domanda. Perché non hai usato rsync? Questo è ciò che fa la domanda, non richiede una sessione SSH consolidata ed è spesso più veloce ed efficiente di scp.
rsyncdirettamente dal tuo computer locale.