Ich habe seit einiger Zeit rsync / ssh verwendet, um meine freigegebenen Hostinhalte auf meinem persönlichen Synology NAS (212j) zu sichern, und es hat ganz gut funktioniert. Zur Information verwende ich eine kennwortlose ssh
Verbindung.
Vor 3 Tagen habe ich meine NAS-Software aktualisiert und seitdem (oder zumindest glaube ich, dass es seitdem so ist) funktioniert das Backup nicht mehr. Auf dem Host wird folgende Fehlermeldung angezeigt:
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
ERROR: module is read only
..was ich nicht verstehe. Abgesehen davon hat sich nichts geändert, von dem ich sowohl in der Quelle als auch im Ziel weiß, dass es mit rsync
oder in Verbindung gebracht werden ssh
kann. Ich habe ein paar Dinge überprüft und alles scheint in Ordnung zu sein:
- Ich kann immer noch
ssh
mit dem guten Benutzer eine Verbindung vom Host zu meinem NAS herstellen, sodass sich SSH-Inhalte wie Schlüssel nicht geändert haben. - Ich habe auch die richtigen Dateiberechtigungen auf dem NAS (ich habe überprüft und auch versucht, Dateien, Verzeichnisse usw. mit dem von
rsync
through verwendeten Benutzer zu erstellenssh
).
Ich habe hier und da gelesen, dass der Fehler bedeutet, dass ich sicherstellen muss, dass ich rsyncd.conf
das Recht read only = no
dazu habe, aber soweit ich weiß, habe rsyncd
ich nie etwas dafür verwendet und nie konfiguriert, und bis jetzt hat es wie ein Zauber funktioniert. .
Ich benutze den folgenden Befehl, um die Sicherung durchzuführen:
rsync -ab --recursive \
--files-from="$FILES_FROM" \
--backup-dir=backup_$SUFFIX \
--delete \
--filter='protect backup_*' \
$WDIRECTORY/ \
remote_backup:$REMOTE_BACKUP/
Also stecke ich fest und kann wirklich nicht herausfinden, was passiert ist.
Bearbeiten:
Wie in den Kommentaren vorgeschlagen, habe ich auch versucht, Befehle an ssh zu übergeben (aber nicht innerhalb einer ssh-Sitzung), die wie erwartet funktionierten, und habe auch einen einzelnen rsync-Befehl ausprobiert, der nicht funktioniert hat und genau wie der vollständige Sicherungsbefehl fehlgeschlagen ist.
(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]
und
(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