Khi tôi cố gắng để rsync -qaPH source/ 192.168.1.21:/var/backups
tôi nhận được
rsync: [sender] write error: Broken pipe (32)
rsync error: unexplained error (code 255) at io.c(837) [sender=3.1.0]
Có gì sai với lệnh của tôi?
Khi tôi cố gắng để rsync -qaPH source/ 192.168.1.21:/var/backups
tôi nhận được
rsync: [sender] write error: Broken pipe (32)
rsync error: unexplained error (code 255) at io.c(837) [sender=3.1.0]
Có gì sai với lệnh của tôi?
Câu trả lời:
255 thực sự không phải là rsync
mã trả về "bản địa" . rsync
loại bỏ mã lỗi 255 từ SSH và trả về nó. Đối với tôi, có vẻ như một cái gì đó trên máy chủ đích đang chặn SSH hoặc phá vỡ nó khi nó được kết nối, do đó, "đường ống bị hỏng". Tôi không đồng ý với @kenorb vì nếu đó là vấn đề hết thời gian, bạn có thể sẽ thấy rsync
mã thoát 30 hoặc 35.
Lỗi đường ống rất có thể có nghĩa là bạn đã hết thời gian chờ. Ví dụ, lệnh rsync từ xa đã bắt đầu tính toán sự khác biệt của tệp, nhưng nó không trả lời đúng thời gian cho khách hàng.
Nếu điều này xảy ra rất thường xuyên, hãy thêm các cài đặt này vào địa phương của bạn ~/.ssh/config
:
Host *
ServerAliveInterval 30
ServerAliveCountMax 6
và trên máy chủ từ xa (nếu bạn đã có quyền truy cập), hãy thiết lập những thứ này trong /etc/ssh/sshd_config
:
ClientAliveInterval 30
ClientAliveCountMax 6
Xem: các tùy chọn ServerAliveInterval
và ClientAliveInterval
ý nghĩa là gì?