Rsync over ssh: “ERRORE: il modulo è di sola lettura” è apparso all'improvviso


11

Ho usato da qualche tempo rsync / ssh per eseguire il backup dei contenuti del mio host condiviso sul mio Synology NAS personale (212j del resto), e ha funzionato abbastanza bene. Per informazioni, utilizzo una connessione senza password ssh.

3 giorni fa, ho aggiornato il mio software NAS e da allora (o almeno credo che sia da allora), il backup non funzionerà più. Ottengo il seguente errore sull'host:

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

..che non capisco. a parte ciò non è cambiato nulla che io conosca sia in origine che in destinazione che possa essere correlato rsynco ssh, ho controllato alcune cose e tutto sembra andare bene:

  • Posso ancora connettermi sshdall'host al mio NAS con il buon utente, quindi roba ssh come le chiavi non sono cambiate.
  • Ho anche i permessi dei file corretti sul NAS (ho controllato e ho anche provato a creare file, directory, .. con l'utente utilizzato da rsyncattraverso ssh).

Ho letto qua e là che l'errore significa che devo assicurarmi di rsyncd.confavere il diritto read only = no, ma per quanto ne so, non ho mai usato rsyncdcosì come non ho mai configurato nulla per esso e fino ad ora ha funzionato come un fascino. .

Uso il seguente comando per eseguire il backup:

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

Quindi sono bloccato e davvero non riesco a capire cosa è successo.


Modificare:

Come suggerito nei commenti, ho anche provato a passare i comandi a ssh (ma non dall'interno di una sessione ssh), che ha funzionato come previsto, e ho anche provato un singolo comando rsync, che non ha funzionato, fallendo proprio come il comando di backup completo.

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

e

(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

Prova a eseguire i test di aggiornamento remoto, ma con i comandi dati a ssh sulla riga di comando anziché tramite una sessione di accesso a ssh. Assicurarsi inoltre che lo spazio di destinazione non sia pieno.
Skaperen,

Grazie per i vostri suggerimenti. Ho modificato la domanda con il loro risultato. Inoltre, lo spazio di destinazione non è affatto pieno (ne ero già sicuro, ma ho ricontrollato)
user978548

Risposte:


19

Ho avuto lo stesso problema dopo aver aggiornato Synology NAS a DSM 4.1. Faccio anche rsync su SSH. Nella mia situazione usando anche rsync l'utente root @ ip ha funzionato, ma ha lasciato i file sul server con il proprietario root che non volevo.

Ho trovato nell'interfaccia utente dell'amministratore del NAS che per qualche motivo in ControlPanel-> Utenti-> MyRSyncUser-> Modifica -> "Impostazione privilegi" non c'era accesso in lettura / scrittura alle case. La mia destinazione RSYNC è sotto casa.

Impostarlo su privilidge ha funzionato per me. Spero che possa aiutare.


Grazie mille ! Ha funzionato! La prossima volta che
aggiorno

8
Questo sembra funzionare se uso nomi di percorso completi (ovvero, rsync something nas:/volume2/homes/foo/bar/anziché rsync something nas:bar/).
Jukka Suomela,

il percorso completo è stato l'ultimo passo per me nel fastidioso attacco di debug. Grazie!
Joevallender,

1
Il problema con questa soluzione (non ne ho trovata una migliore) è che offre privilegi all'utente su tutte le case degli utenti, non solo sulla propria.
CryingCyclops,

Nel mio caso (con una versione più recente suppongo), ho anche dovuto passare alla sintassi basata sul modulo (vedi superuser.com/questions/559047/… )
sknat

6

Mi sono sbarazzato di ERRORE: il modulo viene letto solo modificando il percorso remoto da / var / services / homes / rsync a / volume2 / homes / rsync

DSM 5.1


4

Ho riscontrato lo stesso problema dopo aver aggiornato una sinologia ds1010 + a dsm 4.1-2661.

Non ho tempo di capire cosa è successo alla sincronizzazione fornita dalla sinologia, ma non sembra standard. Quindi ecco la mia soluzione alternativa ...

Non volevo hackerare i privilegi (installazione multiutente), quindi ho ricompilato rsync in static sul mio laptop, quindi ho trasferito il binario sul sinology 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>:

Puoi dire a rsync di usare il tuo nuovo binario invece di quello predefinito, con questo parametro:

--rsync-path=<myhome>/rsync

Ora posso continuare a usare la duplicità con rsync, aggiungendo il seguente parametro alla duplicità:

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

Questo è quello che ho fatto con il mio DS212j, tranne per il fatto che ho usato ipkg per installare il nuovo rsync. Le istruzioni di Synology per l'installazione di ipkg sono qui .
Jason,

Non sono riuscito a trovare nulla su ipkg per DSM 5.2, quindi per il mio DS215j ho fatto la seguente compilazione (avevo già il braccio cross-compilatore-sconosciuto-eabi-gcc in giro) ./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. Inserire il file binario in / opt / bin / sul NAS. Devo anche dare al mio utente di backup una shell in / etc / passwd cambiando / sbin / nologin in / bin / sh (Dovrebbero esserci alcune opzioni più sicure).
thomasa88,

1

Ho avuto lo stesso tipo di problema, ma non stavo usando un utente dedicato per rsync.

Ho dovuto correggere i privilegi nel Pannello di controllo -> Cartelle condivise.


0

Ho avuto un problema simile durante la connessione a Synology 211j su SSS di Putty. Ho dovuto abilitare

"Pannello di controllo -> Backup di rete -> Abilita servizio di backup di rete".

Funziona ora.


-1

Ho funzionato accedendo come root anziché come amministratore o utente normale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.