Я получаю ошибку cygwin rsync при попытке передать файлы между 64-битной windows и 64-битной linux. На обеих машинах установлен rsync 3.0.7. Я запускаю rsync с ssh (без демона). Я вижу, что соединение с удаленным ящиком установлено, но rsync умирает после аутентификации и перед передачей файлов.
Что может быть причиной этой проблемы?
C:\>rsync user@host:~/file newfile
Password:
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=
3.0.7]
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at /home/lapo/packagi
ng/rsync-3.0.6-1/src/rsync-3.0.6/io.c(600) [receiver=3.0.6]
решение1
С error 12
означает rsync
, что соединение с удаленной стороной потеряно. Причина зависит от среды.
Если вы используете rsync как демон, посмотрите его файл журнала для подсказок. Достаточно ли свободного места на диске удаленной системы? Может быть, запуск rsync
с -v
параметром говорит что-то полезное?
решение2
Оказалось, что проблема была в установке git в Windows (mysysgit). Git на Windows поставляется со своим собственным ssh.exe, и его путь был до пути cygwin, поэтому rsync по умолчанию использовал ssh git. Решением была простая замена git bin и cygwin bin dir в env PATH.