Rsync over ssh: “HATA: modül salt okunur” aniden ortaya çıktı


11

Paylaşılan ana bilgisayar içeriklerimi kişisel Synology NAS sunucuma (bu konu için 212j) yedeklemek için bir süre rsync / ssh kullandım ve oldukça iyi çalıştı. Bilgi için şifresiz bir sshbağlantı kullanıyorum.

3 gün önce NAS yazılımımı güncelledim ve (veya en azından bundan beri olduğuna inanıyorum), yedekleme artık çalışmaz. Ana bilgisayarda aşağıdaki hatayı alıyorum:

rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
ERROR: module is read only 

.. anlamadım. yanında kaynak ve hedef ile ilgili olabilir biliyorum hiçbir şey değişti rsyncya da ssh, birkaç şey kontrol ettim ve her şey yolunda gibi görünüyor:

  • Yine sshde iyi bir kullanıcıyla ana bilgisayardan NAS'ım üzerinden bağlanabiliyorum , bu yüzden anahtarlar gibi ssh şeyler değişmedi.
  • Ayrıca NAS doğru dosya izinlerine sahip (Ben kontrol ve ayrıca rsyncaracılığıyla kullanıcı tarafından kullanılan dosyaları, dizinleri, oluşturmaya çalıştım ssh).

Burada okudum ve buradaki hata, benim rsyncd.confdoğru hakkım olmasını sağlamak zorunda olduğum anlamına geliyor read only = no, ancak bildiğim kadarıyla, bunun için hiçbir rsyncdşey yapılandırmadım ve şimdiye kadar bir cazibe gibi çalıştı. .

Yedekleme yapmak için aşağıdaki komutu kullanıyorum:

rsync -ab --recursive \
--files-from="$FILES_FROM" \
--backup-dir=backup_$SUFFIX \
--delete \
--filter='protect backup_*' \
$WDIRECTORY/ \
remote_backup:$REMOTE_BACKUP/

Bu yüzden sıkıştım ve ne olduğunu gerçekten anlayamıyorum.


Düzenle:

Yorumlarda önerildiği gibi, ssh'a (ancak bir ssh oturumunun içinden değil) komutlar geçirmeyi denedim, beklendiği gibi çalıştı ve aynı zamanda tam yedekleme komutu gibi başarısız olan tek bir rsync komutunu denedim.

(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]

ve

(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

Uzaktan güncelleme sınamaları yapmayı deneyin, ancak ssh oturum açma oturumu yerine komut satırında ssh'ye verilen komutlarla. Ayrıca hedef alanın dolu olmadığından emin olun.
Skaperen

Önerileriniz için teşekkürler. Soruyu sonuçlarıyla birlikte düzenledim. Ayrıca, hedef alan hiç dolu değil (zaten emindim, ama tekrar kontrol ettim)
user978548

Yanıtlar:


19

Synology NAS'ımı DSM 4.1'e güncelledikten sonra da aynı sorunu yaşadım. SSH üzerinden rsync de yapıyorum. Benim durumumda rsync kullanıcı root @ ip kullanarak da çalıştı ama istemediğim sahibi kök ile sunucuda dosyaları bıraktı.

NAS yönetici kullanıcı arayüzünde buldum, bazı nedenlerden ötürü ControlPanel-> Kullanıcılar-> MyRSyncUser-> Düzenle -> "Ayrıcalıkların ayarlanması" nda evlere okuma / yazma erişimi yoktu. RSYNC hedefim evlerin altında.

Bunu ayrıcalığa ayarlamak benim için çalıştı. Umarım bu yardımcı olur.


Çok teşekkür ederim ! İşe yaradı ! Bir dahaki sefere DSM'yi güncellediğimde, izinleri iki kez kontrol edeceğim ..
user978548

8
Tam yol adları (yani rsync something nas:/volume2/homes/foo/bar/yerine rsync something nas:bar/) kullanırsam bu işe yarar .
Jukka Suomela

tam yol benim için sinir bozucu hata ayıklama maçında son adımdı. Teşekkürler!
joevallender

1
Bu çözümle ilgili sorun (daha iyi bir tane bulamadım), kullanıcılara sadece kendi evlerinde değil, tüm kullanıcı evlerinde ayrıcalıklar vermesidir.
CryingCyclops

Benim durumumda (sanırım daha yeni bir sürümle), modül tabanlı sözdizimine de geçmek zorunda kaldım (bkz. Superuser.com/questions/559047/… )
sknat

6

HATA'dan kurtuldum: modül sadece / var / services / homes / rsync / / volume2 / homes / rsync olarak uzak yolu değiştirerek okunur

DSM 5.1


4

Aynı sorunla ds1010 + ds1010 + dsm 4.1-2661'e yükselttikten sonra da karşılaştım.

Synology tarafından sağlanan rsync'e ne olduğunu anlamak için zamanım yok ama standart görünmüyor. İşte benim geçici çözümüm ...

Ayrıcalıkları kesmek istemedim (çok kullanıcılı kurulum), bu yüzden dizüstü bilgisayarımda rsync'i statik olarak yeniden derledim, sonra ikili sinoloji nas.

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>:

Rsync'e şu parametre ile varsayılan yerine yeni ikili kodunuzu kullanmasını söyleyebilirsiniz:

--rsync-path=<myhome>/rsync

Şimdi yinelemeye aşağıdaki parametreyi ekleyerek rsync ile yineleme kullanmaya devam edebilirim:

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

Yeni rsync'i yüklemek için ipkg kullanmam dışında, DS212j ile yaptığım şey budur. Synology'nin ipkg kurulum talimatları burada .
Jason

Ben DSM 5.2 için ipkg üzerinde bir şey bulamadım, bu yüzden DS215j için derlemek için aşağıdaki gibi yaptım (zaten çapraz derleyici kol bilinmeyen-eabi-gcc yalan) ./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. İkili NAS'a / opt / bin / dizinini koyun. Ayrıca / sbin / nologin / bin / sh olarak değiştirerek yedek kullanıcıya / etc / passwd içinde bir kabuk vermeliyim (Bazı daha güvenli seçenekler olmalı).
thomasa88

1

Aynı tür bir sorun vardı, ama rsync için özel bir kullanıcı kullanmıyordum.

Denetim Masası -> Paylaşılan klasörlerdeki ayrıcalıkları düzeltmek zorunda kaldım.


0

Putty's ssh üzerinden Synology 211j'ye bağlanırken benzer bir sorun yaşadım. Etkinleştirmem gerekiyordu

"Denetim Masası -> Ağ yedekleme -> Ağ yedekleme hizmetini etkinleştir".

Şimdi çalışıyor.


-1

Yönetici veya normal kullanıcı yerine root olarak giriş yaparak çalıştım.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.