Ошибка в потоке данных протокола rsync (код 12) в io.c(605) [Receiver = 3.0.9]

Я пытаюсь выполнить rsync данные из одного окна ubuntu в другое, но всякий раз, когда я пытаюсь запустить команду, я получаю ошибку,

error in rsync protocol data stream (code 12) at io.c(605) [Receiver=3.0.9]

Я видел, как люди получали ошибки io.c(600) и 610 в различных других местах в Интернете, но ничего о ошибке 605. Какова причина этого вопроса? Как это можно исправить?

Команда, которую я запускаю,

/usr/bin/rsync -az -e /usr/bin/ssh [email protected]:filename /path/to/local/filename

Ответ 1

По этому это официальный баг. В нижней части страницы одна жертва ошибки упоминает, что он не получает ее, когда файл, который он пытается отправить, составляет <100 ГБ или когда он использует флаг -W на клиенте (который скорее указывает на целую копию файла) чем разрешение rsync дельта; в основном, rsync немного лучше, чем scp).

Ответ 2

Я обнаружил, что эта ошибка возникла, когда жесткий диск целевой машины был заполнен.

Я нашел это, попробовав принятый ответ и получив ту же ошибку, поэтому он может помочь кому-то, для кого принятый ответ не работает. Очевидно, что это довольно конкретный ответ и очень легко диагностируется, поэтому я не предполагаю, что это сообщение об ошибке напрямую связано с отсутствием места на цели.

Ответ 3

Убедитесь, что rsync установлен на удаленном сервере.

Такая же проблема возникла, но исчезла после установки rsync на удаленном сервере. Без rsync на удаленном сервере, как он будет работать?

Ответ 4

У меня была такая же ошибка (на Debian Wheezy), а также ядро. Флаг -W, предложенный в отчете об ошибке, упомянутом в ответе Parthian Shot, не помог. Также он не был связан с SSH, поскольку rsync выполнялся локально.

Проблема возникла из-за ошибок в файловой системе. Исправление их с помощью fsck решило проблему. (Обязательно проверьте, не осталось ли процессов rsync.)

Ответ 5

По моему опыту эта ошибка возникает из-за того, что на локальном хосте еще не сохранен ключ удаленного хоста, а ssh отклоняет соединение в фоновом режиме.

su - localUser -c "/usr/bin/rsync -avzh -e \"/bin/sshpass -p ${password} \
ssh -oPort=remotePort -l remoteUser\"  \
remoteServer:/remoteFolder /localFolder"

В объясненном сценарии вышеприведенная команда завершилась с ошибкой:

error in rsync protocol data stream (code 12) at io.c(605) [Receiver=3.0.9]

без приглашения принять удаленный ключ. Чтобы решить проблему, просто подключитесь к удаленному хосту вручную с помощью ssh как localUser, и когда вас спросят: "Вы хотите принять удаленный ключ хоста yes/no, выберите" yes ".

После этого выполнение полной команды выше должно работать нормально.

ПРИМЕЧАНИЕ: если вы подключаетесь к удаленному компьютеру с помощью @[имя_сервера] и @[имя_сервера]. [имя домена], тогда необходимо, чтобы удаленный хост-ключ был настроен для обоих вариантов, как описано выше.

Ответ 6

Эта ошибка возникла при загрузке/обновлении файлов из системы RHEL (клиент) в систему (сервер) FreeBSD. rsync действительно дал сообщение о libiconv.so.3, которое было необходимо, но недоступно. libiconv.so.3 не был на RHEL (клиент). rsync на RHEL (клиент) запущен и работал нормально. Выключена установка rsync на FreeBSD (сервере) была нарушена. libiconv.so.3 отсутствует. В связи с этим rsync на системе FreeBSD (сервер) не смог запустить и вызвать указанную проблему в системе RHEL (клиент). Переустановка rsync на FreeBSD (сервер) решила проблему.

Ответ 7

Для меня это был отсутствующий каталог назначения на компьютере назначения.