Я хочу впервые попробовать Rsync, но столкнулся с трудностями.
Я хочу перенести файлы с удаленного сервера на локальный.
Я вхожу на свой локальный сервер и набираю:
sudo rsync -avz ssh ubuntu@xx.xxx.xx.xx /var/www/html/mywebsite.co.uk /var/www/html/
Это означает, что я хочу скопировать папку mywebsite.co.uk с удаленного сервера в папку / var / www / html на моем локальном сервере.
Оба сервера настроены на использование одного и того же ключа ssh.
Я получаю следующие ошибки:
sending incremental file list
rsync: link_stat "/var/www/html/ssh" failed: No such file or directory (2)
rsync: link_stat "/var/www/html/ubuntu@xx.xxx.xxx.xx" failed: No such file or directory (2)
sent 55 bytes received 13 bytes 136.00 bytes/sec
total size is 0 speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1070) [sender=3.0.9]
Кто-нибудь может помочь мне разобраться в этих ошибках?
Заранее спасибо!
Ваш синтаксис неверен. Должно быть
sudo rsync -avz -e ssh ubuntu@xx.xxx.xx.xx:/var/www/html/mywebsite.co.uk /var/www/html/
Отсутствует оператор -e для ssh. И вам нужно двоеточие после ip-адреса.
попробуйте синтаксис ниже
rsync -e ssh -avz ubuntu@xx.xxx.xx.xx:/var/www/html/mywebsite.co.uk root@50.23.148.226:/var/www/html/
Также вы можете указать ключ и порт ssh, если необходимо
rsync -e "ssh -p PORT_NO -i path_to_file" -avz ubuntu@xx.xxx.xx.xx:/var/www/html/mywebsite.co.uk root@xx.xx.xxx.xx:/var/www/html/
При указании удаленного местоположения с помощью SSH (что требует -e ssh
, в противном случае он использует собственный протокол rsync и требует, чтобы на другом конце был запущен сервер / демон rsync), вы должны написать его по следующему шаблону:
[user@]short_name[.domain]:[path]
Если вы опустите user@
он будет предполагать, что удаленный пользователь тот же, что и на локальном компьютере. Если вы не укажете .domain
он будет использовать настройки поиска вашего домена (как и любое другое разрешение имен). Если вы не укажете path
он будет использовать домашний каталог удаленного пользователя (Примечание: это то же самое, что и запись user@server:~
)
Итак, вам просто нужно заменить пространство двоеточием
:
как написал Grumpy в своем ответе.