Đồng bộ hóa trên ssh: L ERI: mô-đun chỉ được đọc


11

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 sshkế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 rsynchoặ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 sshtừ 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 rsyncthông qua ssh).

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.confcó quyền read only = notrong đó, nhưng theo tôi biết, tôi không bao giờ sử dụng rsyncdcũ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]

(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

Hãy thử thực hiện các kiểm tra cập nhật từ xa, nhưng với các lệnh được đưa cho ssh trên dòng lệnh thay vì thông qua phiên đăng nhập ssh. Cũng hãy chắc chắn rằng không gian mục tiêu không đầy đủ.
Skaperen

Cảm ơn lời đề nghị của bạn. Tôi chỉnh sửa câu hỏi với kết quả của họ. Ngoài ra, không gian đích hoàn toàn không đầy đủ (tôi đã chắc chắn, nhưng tôi đã kiểm tra lại)
user978548

Câu trả lời:


19

Tôi gặp vấn đề tương tự sau khi cập nhật NAS Synology của mình lên DSM 4.1. Tôi cũng làm rsync qua SSH. Trong tình huống của tôi, sử dụng rsync người dùng root @ ip cũng hoạt động nhưng để lại các tệp trên máy chủ với quyền sở hữu gốc mà tôi không muốn.

Tôi đã tìm thấy trong giao diện người dùng quản trị viên NAS, vì một số lý do trong ControlPanel-> Người dùng-> MyRSyncUser-> Chỉnh sửa -> "Thiết lập đặc quyền" không có quyền truy cập đọc / ghi vào nhà. Điểm đến RSYNC của tôi là dưới nhà.

Thiết lập điều này cho tư nhân làm việc cho tôi. Tôi hi vọng cái này giúp được.


Cảm ơn bạn rất nhiều ! Điều đó đã làm việc! Lần tới khi tôi cập nhật DSM, tôi sẽ kiểm tra lại các quyền ..
user978548

8
Điều này dường như hoạt động nếu tôi sử dụng tên đường dẫn đầy đủ (nghĩa là rsync something nas:/volume2/homes/foo/bar/thay vì rsync something nas:bar/).
Jukka Suomela

đường dẫn đầy đủ là bước cuối cùng đối với tôi trong quá trình gỡ lỗi khó chịu. cảm ơn!
joevallender

1
Vấn đề với giải pháp này (tôi chưa tìm thấy giải pháp nào tốt hơn) là nó mang lại cho người dùng đặc quyền trên tất cả các nhà người dùng, không chỉ riêng họ.
CryingCyclops

Trong trường hợp của tôi (với phiên bản mới hơn tôi giả sử), tôi cũng đã phải thay đổi cú pháp dựa trên mô-đun (xem superuser.com/questions/559047/ trên )
sknat

6

Tôi đã thoát khỏi ERROR: mô-đun chỉ được đọc bằng cách thay đổi đường dẫn từ xa từ / var / services / homes / rsync thành / volume2 / homes / rsync

DSM 5.1


4

Tôi đã gặp vấn đề tương tự sau khi nâng cấp synology DS1010 + lên dsm 4.1-2661.

Tôi không có thời gian để hiểu những gì đã xảy ra với rsync được cung cấp bởi synology nhưng nó có vẻ không chuẩn. Vì vậy, đây là cách giải quyết của tôi ...

Tôi không muốn hack các đặc quyền (thiết lập nhiều người dùng), vì vậy tôi đã biên dịch lại rsync tĩnh trên máy tính xách tay của mình, sau đó tôi đã chuyển nhị phân trên mũi tội lỗi.

wget https://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz
tar xzvf rsync-3.0.9.tar.gz
cd rsync-3.0.9
export CFLAGS=--static
./configure
make

scp rsync <login>@<nas_hostname>:

Bạn có thể yêu cầu rsync sử dụng nhị phân mới của mình thay vì mặc định, với tham số này:

--rsync-path=<myhome>/rsync

Bây giờ tôi có thể tiếp tục sử dụng trùng lặp với rsync, bằng cách thêm tham số sau vào trùng lặp:

--rsync-options="--rsync-path=<myhome>/rsync"

Đây là những gì tôi đã làm với DS212j của mình, ngoại trừ tôi đã sử dụng ipkg để cài đặt rsync mới. Hướng dẫn của Synology để cài đặt ipkg ở đây .
Jason

Tôi không thể tìm thấy bất cứ điều gì trên ipkg cho DSM 5.2, vì vậy đối với DS215j của tôi, tôi đã làm như sau để biên dịch (tôi đã có trình biên dịch chéo arm-unknown-eabi-gcc nằm xung quanh) ./configure --host=armv7 CFLAGS=-static EXEEXT=-static --prefix=/opt CC=arm-unknown-linux-gnueabi-gcc && make && arm-unknown-linux-gnueabi-strip rsync && make DESTDIR=$PWD/../prefix install. Đặt nhị phân trong / opt / bin / trên NAS. Ngoài ra phải cung cấp cho người dùng sao lưu của tôi một shell trong / etc / passwd bằng cách thay đổi / sbin / nologin thành / bin / sh (Cần có một số tùy chọn an toàn hơn).
thomasa88

1

Tôi có cùng một loại vấn đề, nhưng tôi đã không sử dụng một người dùng chuyên dụng cho rsync.

Tôi đã phải sửa các đặc quyền trong Bảng điều khiển -> Thư mục dùng chung.


0

Tôi gặp vấn đề tương tự khi kết nối với Synology 211j qua ssh của Putty. Tôi phải kích hoạt

"Bảng điều khiển -> Sao lưu mạng -> Kích hoạt dịch vụ sao lưu mạng".

Nó đang làm việc.


-1

Tôi đã làm cho nó hoạt động bằng cách đăng nhập bằng root thay vì quản trị viên hoặc người dùng thông thường.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.