Rsync создает сообщение об ошибке необъяснимой ошибки (код 255) в io.c (837)

11

Когда я пытаюсь rsync -qaPH source/ 192.168.1.21:/var/backupsполучить

rsync: [sender] write error: Broken pipe (32)
rsync error: unexplained error (code 255) at io.c(837) [sender=3.1.0]

Что не так с моей командой?

Alex
источник
Я думаю, что ошибка происходит в этой строке: git.samba.org/rsync.git/… . Если вы сможете пробраться по окружающему коду, он может примерно рассказать вам, что произошло.
mwfearnley

Ответы:

6

Чтобы исследовать, добавьте один или несколько -vпараметров в команду rsync. Также попробуйте использовать обычный ssh:

ssh -v 192.168.1.21 /bin/true

чтобы выяснить, вызывает ли это проблему rsync или основное ssh-соединение.

Арьен
источник
4

255 на самом деле не является "родным" rsyncкодом возврата. rsyncудаляет код ошибки 255 из SSH и возвращает его. Мне кажется, что что-то на целевом сервере блокирует SSH или нарушает его, когда он подключен, следовательно, «сломанный канал». Я не согласен с @kenorb, потому что, если бы это была проблема тайм-аута, вы, вероятно, видели бы rsyncкоды выхода 30 или 35.

medley56
источник
1

Ошибка сломанной трубы, скорее всего, означает, что вы достигли тайм-аута. Например, команда remote rsync начала вычислять различия в файлах, но не ответила клиенту вовремя.

Если это происходит очень часто, добавьте эти настройки в ваш локальный ~/.ssh/config:

Host *
  ServerAliveInterval 30
  ServerAliveCountMax 6

и на удаленном сервере (если у вас есть доступ) настройте их в /etc/ssh/sshd_config:

ClientAliveInterval 30
ClientAliveCountMax 6

Смотрите: какие варианты ServerAliveIntervalи ClientAliveIntervalзначат?

kenorb
источник
0

У меня была похожая ошибка при rsyncиспользовании моего Emberприложения для развертывания (ember-cli-deploy). Я должен был правильно настроить мой ssh(добавить закрытые ключи к моему ~/.ssh/)

morhook
источник
-1

Я знаю, что эта проблема старая, но, возможно, кто-то (как я) все еще имеет ошибку.

а) Проверьте, запущена ли служба ssh:

sudo service ssh status

б) Проверьте соединение с помощью тройной подробной команды:

ssh -vvv <hostname>

в) Возможно, вы используете неправильный ssh-ключ или ключ каким-то образом сломан.

виноградная лоза

виноградная лоза
источник