Tôi đã sử dụng rsync / ssh một thời gian để sao lưu nội dung máy chủ được chia sẻ của mình vào NAS Synology cá nhân (212j cho vấn đề đó) và nó hoạt động khá tốt. Để biết thông tin, tôi sử dụng ssh
kết nối không có mật khẩu .
3 ngày trước, tôi đã cập nhật phần mềm NAS của mình và vì (hoặc ít nhất là tôi tin rằng kể từ đó), bản sao lưu sẽ không hoạt động nữa. Tôi nhận được lỗi sau trên máy chủ:
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
ERROR: module is read only
Tôi không hiểu. bên cạnh đó không có gì thay đổi mà tôi biết ở cả nguồn và đích có thể liên quan đến rsync
hoặc ssh
, tôi đã kiểm tra một vài thứ và tất cả dường như đều ổn:
- Tôi vẫn có thể kết nối thông qua
ssh
từ máy chủ đến NAS của mình với người dùng tốt, vì vậy những thứ ssh như khóa không thay đổi. - Tôi cũng có quyền truy cập tệp chính xác trên NAS (Tôi đã kiểm tra và cũng đã cố gắng tạo tệp, thư mục, .. với người dùng được sử dụng
rsync
thông quassh
).
Tôi đọc ở đây và ở đó rằng lỗi có nghĩa là tôi phải đảm bảo rằng tôi rsyncd.conf
có quyền read only = no
trong đó, nhưng theo tôi biết, tôi không bao giờ sử dụng rsyncd
cũng như tôi chưa bao giờ cấu hình bất cứ điều gì cho nó và cho đến bây giờ nó hoạt động như một bùa mê. .
Tôi sử dụng lệnh sau để thực hiện sao lưu:
rsync -ab --recursive \
--files-from="$FILES_FROM" \
--backup-dir=backup_$SUFFIX \
--delete \
--filter='protect backup_*' \
$WDIRECTORY/ \
remote_backup:$REMOTE_BACKUP/
Vì vậy, tôi bị mắc kẹt và thực sự không thể hiểu chuyện gì đã xảy ra.
Biên tập:
Như đã đề xuất trong các bình luận, tôi cũng đã thử truyền các lệnh cho ssh (nhưng không phải từ bên trong một phiên ssh), hoạt động như mong đợi và cũng đã thử một lệnh rsync duy nhất, không hoạt động, thất bại giống như lệnh sao lưu hoàn chỉnh.
(sharedHost):hostuser:~ > touch test.txt
(sharedHost):hostuser:~ > rsync test.txt remote_backup:backups/test.txt
ERROR: module is read only
rsync error: syntax or usage error (code 1) at main.c(1034) [Receiver=3.0.8]
rsync: connection unexpectedly closed (9 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.7]
và
(sharedHost):hostuser:~ > ssh remote_backup 'touch /abs_path_to_backups/backups/test2.txt && echo "ProoF" > /abs_path_to_backups/backups/test2.txt'
(sharedHost):hostuser:~ > ssh remote_backup 'cat /abs_path_to_backups/backups/test2.txt'
ProoF