"Rsync" da remoto a locale


14

Diciamo che ho 2 macchine:

  • locale (centos)
  • remoto su IP: 123.123.123.123 porta ssh 456 (server Ubuntu)

e voglio sincronizzare la mia cartella remota /home/wolfy/pycon la mia cartella locale /home/cavo/python.

Questo può essere fatto con rsync? Puoi farmi un esempio?

Risposte:


18

Prova questo:

rsync -ave 'ssh -p 456' /home/cavo/python/ wolfy@123.123.123.123:/home/wolfy/py/ 

Nota che le barre finali sui percorsi sono molto importanti, segnalano che stai sincronizzando una directory con una directory. Lo -eswitch aiuta a rsyncsapere che utilizzerà il sshtrasporto e mentre stiamo specificando il trasporto diciamo anche a ssh quale porta dovrà usare per parlare con il sito remoto. Quindi il nome utente e l'ip dell'host remoto vengono specificati come parte della destinazione.


funziona perfettamente :) grazie per una spiegazione dettagliata!
Wolfy,

1
La barra finale è importante solo sulla fonte, non sulla destinazione.
enzotib,

2
Sono confuso, questa copia non è locale o remota? Secondo stackoverflow.com/a/9090859/277267 è il contrario.
Daniel F,

@DanielF Sì. Sospetto che questo sia ciò che l'OP intendeva con la sua domanda. Nota il suo uso di "with" e la formulazione non convenzionale. Se vuoi davvero sincronizzare una directory remota con una locale, puoi invertire gli argomenti. Prima la fonte e poi il bersaglio.
Caleb,

@Caleb Sì, ma il titolo dice "dal remoto al locale".
Daniel F,

0

Per quelli di noi che amano la soluzione dettagliata.

sudo rsync --ignore-existing --recursive username@domain:/location/to/files/ files/

Ricorda che hai sempre un uomo con te.

$ man rsync
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.