«Rsync» от удаленного к локальному

14

Допустим, у меня есть 2 машины:

  • местный (сентос)
  • удаленный по IP: 123.123.123.123 ssh порт 456 (сервер Ubuntu)

и я хочу синхронизировать мою удаленную папку /home/wolfy/pyс моей локальной папкой /home/cavo/python.

Можно ли это сделать rsync? Можете ли вы дать мне пример?

Волчок
источник

Ответы:

18

Попробуй это:

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

Обратите внимание, что завершающие косые черты в путях очень важны, они сигнализируют о том, что вы синхронизируете каталог с каталогом. -eПереключатель помогает rsyncзнать , что собирается использовать sshтранспорт, и в то время как мы с указанием транспорта мы также сказать , SSH , какой порт он собирается иметь , чтобы использовать для разговора с удаленным сайтом. Затем имя пользователя и IP-адрес удаленного хоста указываются как часть цели.

Калеб
источник
работает отлично :) спасибо за подробное объяснение!
Вольф
1
Конечный слеш важен только для источника, а не для пункта назначения.
энзотиб
2
Я запутался, не эта копия с локального на удаленный? Согласно stackoverflow.com/a/9090859/277267 все наоборот.
Даниэль Ф
@DanielF Да, это так. Я подозреваю, что именно ОП имел в виду его вопрос. Обратите внимание на его использование «с» и нетрадиционные формулировки. Если вы действительно хотите синхронизировать удаленный каталог с локальным, вы можете изменить аргументы. Сначала источник, затем цель.
Калеб
@Caleb Да, но заголовок говорит "от удаленного к локальному".
Даниэль Ф
0

Для тех из нас, кто любит подробное решение.

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

Помни, что с тобой всегда есть мужчина.

$ man rsync
стог
источник