Rsync membuat pesan kesalahan kesalahan yang tidak dapat dijelaskan (kode 255) di io.c (837)

11

Ketika saya mencoba untuk rsync -qaPH source/ 192.168.1.21:/var/backupsmendapatkan

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

Apa yang salah dengan perintah saya?

Alex
sumber
Saya kira kesalahan terjadi pada baris ini: git.samba.org/rsync.git/… . Jika Anda dapat mengarungi kode di sekitarnya, itu mungkin memberi tahu Anda apa yang terjadi.
mwfearnley

Jawaban:

6

Untuk menyelidiki, tambahkan satu atau lebih -vopsi ke perintah rsync. Juga, coba gunakan ssh biasa:

ssh -v 192.168.1.21 /bin/true

untuk mengetahui apakah itu rsync atau koneksi ssh yang mendasari yang menyebabkan masalah.

Arjen
sumber
4

255 sebenarnya bukan rsynckode pengembalian "asli" . rsyncgoresan kode kesalahan 255 dari SSH dan mengembalikannya. Sepertinya saya seperti sesuatu di server tujuan memblokir SSH atau memecahnya setelah terhubung, karenanya, "pipa rusak". Saya tidak setuju dengan @kenorb karena jika itu adalah masalah batas waktu Anda mungkin akan melihat rsynckode keluar 30 atau 35.

medley56
sumber
1

Kesalahan pipa rusak kemungkinan besar berarti Anda telah mencapai batas waktu. Sebagai contoh, perintah remote rsync mulai menghitung perbedaan file, tetapi itu tidak menjawab klien tepat waktu.

Jika ini sangat sering terjadi, tambahkan pengaturan ini ke lokal Anda ~/.ssh/config:

Host *
  ServerAliveInterval 30
  ServerAliveCountMax 6

dan pada server jarak jauh (jika Anda memiliki akses), atur ini di /etc/ssh/sshd_config:

ClientAliveInterval 30
ClientAliveCountMax 6

Lihat: Apa opsi ServerAliveIntervaldan ClientAliveIntervalartinya?

kenorb
sumber
0

Saya memiliki kesalahan serupa menggunakan rsyncvia deploy saya untuk Emberaplikasi (bara-cli-deploy). Saya harus mengkonfigurasi dengan benar ssh(menambahkan kunci pribadi ke saya ~/.ssh/)

morhook
sumber
-1

Saya tahu masalah ini sudah lama, tetapi mungkin seseorang (seperti saya) masih memiliki kesalahan.

a) Periksa apakah layanan ssh sedang berjalan:

sudo service ssh status

b) Periksa koneksi dengan perintah triple verbose:

ssh -vvv <hostname>

c) Mungkin Anda menggunakan ssh-key yang salah atau kuncinya rusak.

Merambat

pokok anggur
sumber