Проблема с rsync [duplicate]

Я попытался:

rsync -v -v -e 'ssh -p YY' ./testfile me@XXXXX:/home

Сообщение об ошибке

opening connection using: ssh -p YY -l me 146.6.84.206 rsync ->-server -vvve.s . /home [sender] make_file(testfile,*,0) send_file_list done send_files starting server_recv(2) starting pid=17537 rsync: connection unexpectedly closed (9 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(600)[sender=3.0.6] _exit_cleanup(code=12, file=io.c, line=600): about to call exit(12)

Это прекрасно работает:

ssh -p YY me@XXXXX

Что подсказывает мне, что проблема не является что sshd не работает, а порт YY - межсетевой экран.

Какие еще могут быть проблемы?

РЕДАКТИРОВАТЬ: Проблема, похоже, была «саморешением». На следующий день я не смог воспроизвести. Я запустил свой локальный компьютер. Возможно, особенно у меня был другой IP-адрес, чем в прошлый раз. И теперь rsync волшебным образом работает. Я был бы признателен за то, что это могло произойти в свете этого.

39
задан 19 May 2015 в 01:03

12 ответов

Вы также можете получить эту ошибку, если указали путь, который не существует.

Я получил эту ошибку в OS X:

$ rsync -avz public/ static:apps/myapp.com building file list ... done rsync: connection unexpectedly closed (8 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-47/rsync/io.c(453) [sender=2.6.9]

Повернулось это просто вопрос о неправильном пути назначения. [F2] dir не существует. Когда я изменил это на static:sites/myapp.com вместо этого (существует sites dir, ошибка исчезла.

Это нормально, если конечный каталог в пути не существует (я мог бы сделать static:sites/mynewapp.com ]), но, как представляется, любой предшествующий каталог уже должен существовать.

62
ответ дан 18 July 2018 в 13:46

Вы также можете получить эту ошибку, если указали путь, который не существует.

Я получил эту ошибку в OS X:

$ rsync -avz public/ static:apps/myapp.com building file list ... done rsync: connection unexpectedly closed (8 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-47/rsync/io.c(453) [sender=2.6.9]

Повернулось это просто вопрос о неправильном пути назначения. [F2] dir не существует. Когда я изменил это на static:sites/myapp.com вместо этого (существует sites dir, ошибка исчезла.

Это нормально, если конечный каталог в пути не существует (я мог бы сделать static:sites/mynewapp.com ]), но, как представляется, любой предшествующий каталог уже должен существовать.

63
ответ дан 24 July 2018 в 20:15

Создает ли ваш скрипт входа в удаленном конце мусор на stdout? Проверьте это с помощью

ssh -p YY me@XXXXX /bin/true > out.txt

Если out.txt содержит данные, определите оскорбительные утверждения в ваших .profile или .bashrc и заверните их в

if [ ! -t 1 ]; then echo garbage fi
3
ответ дан 18 July 2018 в 13:46

Я получил эту ошибку, когда rsync не был установлен на целевом хосте. Сообщение об ошибке в моем случае также сказало rsync: command not found. Простой

sudo apt-get install rsync

на целевом узле решил проблему.

6
ответ дан 18 July 2018 в 13:46

Эта ошибка также может произойти, если путь к rsync в удаленной системе не соответствует локальной системе. Вы можете видеть, что происходит, указав -vv (или даже больше vs). Если это проблема, вы можете указать путь удаленного доступа к rsync с опцией -rsync-path.

0
ответ дан 18 July 2018 в 13:46

Я видел эту ошибку:

rsync -e 'ssh -v' debug1: Exit status 11

...

rsync error: error in rsync protocol data stream (code 12) at /BuildRoot /Library/Caches/com.apple.xbs/Sources/rsync/rsync-51/rsync/io.c(453) [sender=2.6.9]

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

0
ответ дан 18 July 2018 в 13:46

Возможно, вам понадобится ввести полный путь к двоичному файлу ssh, т. е.

rsync -v -v -e '/usr/bin/ssh -p YY' ./testfile me@XXXXX:/home

Хотя возможны и другие возможные причины.

0
ответ дан 18 July 2018 в 13:46

Создает ли ваш скрипт входа в удаленном конце мусор на stdout? Проверьте это с помощью

ssh -p YY me@XXXXX /bin/true > out.txt

Если out.txt содержит данные, определите оскорбительные утверждения в ваших .profile или .bashrc и заверните их в

if [ ! -t 1 ]; then echo garbage fi
3
ответ дан 24 July 2018 в 20:15
  • 1
    Нада в out.txt. Но я также пробовал это днем ​​во время периода, когда я не мог воспроизвести проблему. – user3391229 19 May 2015 в 01:04
  • 2
    Я пробовал это в то время, когда я мог создать проблему, и я тоже ничего не получил в out.txt. – joshreesjones 14 October 2015 в 18:12

Я получил эту ошибку, когда rsync не был установлен на целевом хосте. Сообщение об ошибке в моем случае также сказало rsync: command not found. Простой

sudo apt-get install rsync

на целевом узле решил проблему.

6
ответ дан 24 July 2018 в 20:15

Эта ошибка также может произойти, если путь к rsync в удаленной системе не соответствует локальной системе. Вы можете видеть, что происходит, указав -vv (или даже больше vs). Если это проблема, вы можете указать путь удаленного доступа к rsync с опцией -rsync-path.

0
ответ дан 24 July 2018 в 20:15

Я видел эту ошибку:

rsync -e 'ssh -v' debug1: Exit status 11

...

rsync error: error in rsync protocol data stream (code 12) at /BuildRoot /Library/Caches/com.apple.xbs/Sources/rsync/rsync-51/rsync/io.c(453) [sender=2.6.9]

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

0
ответ дан 24 July 2018 в 20:15

Возможно, вам понадобится ввести полный путь к двоичному файлу ssh, т. е.

rsync -v -v -e '/usr/bin/ssh -p YY' ./testfile me@XXXXX:/home

Хотя возможны и другие возможные причины.

0
ответ дан 24 July 2018 в 20:15
  • 1
    Да, я читал, что это может произойти, когда у вас есть несколько экземпляров ssh, на которые вы можете ссылаться. Однако тот факт, что он ушел на следующий день, делает это маловероятным – user3391229 19 May 2015 в 01:05

Другие вопросы по тегам:

Похожие вопросы: