Я много лет использую rsync и rsyncd на своих компьютерах с Windows, и только недавно у меня возникла проблема.
Видимо, когда мои Linux и FreeBSD пытаются синхронизировать свои данные с тем, что находится на машинах Windows, сторона Windows показывает это в журнале:
2013/11/30 05:21:50 [2164] connect from example.com (192.168.1.100)
2013/11/30 05:21:52 [2164] rsync error: error in socket IO (code 10) at /home/lapo/package/rsync-3.0.9-1/src/rsync-3.0.9/io.c(1486)
И стороны Linux и FreeBSD показывают это в командной строке:
user@example.com$ rsync windows-machine::data
Password:
rsync: connection unexpectedly closed (0 bytes received so far) [Receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [Receiver=3.0.9]
Обычно это список доступных файлов, теперь он дает мне эту ошибку. 3 из моих машин показывают это, все на Windows 8.1. Ни один из них не поддерживал какое-то время; за исключением одного, который был создан два дня назад (28 ноября), но с тех пор не смог.
Я предполагаю, что что-то изменилось в настройках безопасности недавнего обновления Windows 8.1, которое вызывает эти ошибки.
Я попробовал несколько вещей, обновился до rsync 3.0.9 с 3.0.8 и посмотрел, открыты ли порты и т. Д. Из того, что я вижу, порт 873 открыт. При подключении журнал обновляется и создается файл rsync.lock. Удаление файла ничего не меняет. В нем перечислены доступные модули, и я убедился, что у машины есть доступ к этим файлам.
Порт открыт, выполняется подключение, и он не работает во время подключения
Есть ли какое-либо объяснение того, почему это происходит, и возможное обходное решение или решение, чтобы исправить это?
Вы можете исправить это, обновив файл cygwin1.dll.