ошибка rsync: ошибка в потоке данных протокола rsync (код 12) в io.c(600)

ошибка rsync: ошибка в потоке данных протокола rsync (код 12) в io.c(600)

Недавно я не смог сделать rsync через ssh. Каждый раз получаю одну и ту же ошибку

bash: rsync: command not found
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(600) [sender=3.0.6]

Я бегаю

sudo rsync -av /var/www/html/somedir/ [email protected]:Users/myuser/Desktop/ec2backup

Обратите внимание, что имя пользователя, IP-адрес и каталоги были изменены для целей данного поста.

Раньше я запускал точно такую ​​же команду, как и проверено с помощью bash_history.

Что я пробовал:

  1. Запустил аналогичную команду с другого сервера, в результате чего появилось то же сообщение об ошибке.
  2. Протестировал rsync локально (локальный каталог в локальный каталог), все прошло отлично.

Единственное, что изменилось, это то, что я недавно установил Virtualbox и Vagrant. Возможно ли, что я напутал с аутентификацией/портами/и т. д. на своей локальной машине?

Любая помощь будет высоко оценена.

решение1

rsync не установлен на 999.999.99.9

решение2

Моя проблема заключалась в том, что я использовал cwrsync_6.2.1_x64 совместно с SSH_for_Windows_7.7p1, LibreSSL 2.6.5, который был предустановлен в win10 2004 build 19041.685.

в вашей команде rsync вам нужно указать на ssh.exe, который идет с этой конкретной сборкой rsync. Например:

rsync -avHz -e "path_to\cwrsync_6.2.1_x64_free\bin\ssh.exe" --partial ...

решение3

Я получил эту ошибку, когда целевой каталог не существовал заранее. С исходным файлом данных: /a/b/c/d/data, rsync -av -e ssh /a/b/c/d/ hostname:/a/b/c/d требует, чтобы целевой каталог: hostname:/a/b/c уже существовал.

Прочитав страницу руководства в качестве последнего средства, я понял, что это и есть предполагаемое поведение.

решение4

Используя cygwin, я выполнил команду «which rynsc», и результатом стал rsync, предоставленный программой установки cygwin. Ранее я установил rsync через программу установки Cygwin. Однако, когда я сделал это из Cygwin, «which ssh», он указывал на ssh пути Windows. Поэтому я вышел из Cygwin, выполнил программу установки cygwin и установил ssh из cygwin. После этого я снова выполнил те же две предыдущие команды (which rsync и which ssh), и оба двоичных файла указывали на двоичные файлы cygwin. Затем, когда я выполнил свою rsync из cygwin, она заработала без каких-либо проблем.

Связанный контент