"Rsync" dari jarak jauh ke lokal

14

Katakanlah saya punya 2 mesin:

  • lokal (centos)
  • jarak jauh pada IP: 123.123.123.123 ssh port 456 (server ubuntu)

dan saya ingin menyinkronkan folder jarak jauh /home/wolfy/pysaya dengan folder lokal saya /home/cavo/python.

Bisakah ini dilakukan rsync? Bisakah Anda memberi saya contoh?

Wolfy
sumber

Jawaban:

18

Coba ini:

rsync -ave 'ssh -p 456' /home/cavo/python/ [email protected]:/home/wolfy/py/ 

Perhatikan bahwa garis miring pada jalur sangat penting, mereka menandakan bahwa Anda sedang menyinkronkan direktori ke direktori. The -eberalih membantu rsynctahu itu akan menggunakan sshtransportasi, dan sementara kita menentukan transportasi kami juga memberitahu ssh port apa itu akan harus menggunakan untuk bicara ke situs remote. Kemudian username dan ip host jarak jauh ditentukan sebagai bagian dari target.

Caleb
sumber
berfungsi dengan sempurna :) terima kasih untuk penjelasan rinci!
Wolfy
1
Trailing slash hanya penting pada sumbernya, bukan pada tujuan.
enzotib
2
Saya bingung, bukankah ini salinan dari lokal ke jarak jauh? Menurut stackoverflow.com/a/9090859/277267 itu sebaliknya.
Daniel F
@DanielF Ya. Saya menduga itulah yang dimaksud OP dengan pertanyaannya. Perhatikan penggunaan "dengan" dan kata-kata yang tidak konvensional. Jika Anda benar-benar ingin menyinkronkan dir remote ke yang lokal, Anda dapat membalikkan argumen. Sumber pertama kemudian target.
Caleb
@ Caleb Ya, tetapi judul mengatakan "dari jarak jauh ke lokal".
Daniel F
0

Bagi kita yang menyukai solusi verbose.

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

Ingat Anda selalu memiliki seorang pria bersamamu.

$ man rsync
Rick
sumber