Kiedy próbuję rsync -qaPH source/ 192.168.1.21:/var/backups
dostać
rsync: [sender] write error: Broken pipe (32)
rsync error: unexplained error (code 255) at io.c(837) [sender=3.1.0]
Co jest nie tak z moim poleceniem?
Kiedy próbuję rsync -qaPH source/ 192.168.1.21:/var/backups
dostać
rsync: [sender] write error: Broken pipe (32)
rsync error: unexplained error (code 255) at io.c(837) [sender=3.1.0]
Co jest nie tak z moim poleceniem?
Odpowiedzi:
255 nie jest tak naprawdę „natywnym” rsync
kodem powrotu. rsync
zgarnia kod błędu 255 z SSH i zwraca go. Wygląda mi na to, że coś na serwerze docelowym blokuje SSH lub psuje je po podłączeniu, stąd „zepsuta rura”. Nie zgadzam się z @kenorb, ponieważ gdyby wystąpił problem z przekroczeniem limitu czasu, prawdopodobnie zobaczysz rsync
kody wyjścia 30 lub 35.
Błąd uszkodzonej rury najprawdopodobniej oznacza przekroczenie limitu czasu. Na przykład zdalna komenda rsync zaczęła obliczać różnice w plikach, ale nie odpowiedziała klientowi na czas.
Jeśli zdarza się to bardzo często, dodaj te ustawienia do lokalnego ~/.ssh/config
:
Host *
ServerAliveInterval 30
ServerAliveCountMax 6
i na zdalnym serwerze (jeśli masz dostęp), skonfiguruj je w /etc/ssh/sshd_config
:
ClientAliveInterval 30
ClientAliveCountMax 6
Zobacz: Co oznaczają opcje ServerAliveInterval
i co ClientAliveInterval
oznaczają?
Wiem, że ten problem jest stary, ale może ktoś (jak ja) nadal ma błąd.
a) Sprawdź, czy usługa ssh jest uruchomiona:
sudo service ssh status
b) Sprawdź połączenie za pomocą trzykrotnego pełnego polecenia:
ssh -vvv <hostname>
c) Być może używasz niewłaściwego klucza ssh lub klucz jest w jakiś sposób uszkodzony.
Wino