Od pewnego czasu używałem rsync / ssh do tworzenia kopii zapasowych zawartości hosta współdzielonego na moim osobistym serwerze Synology NAS (212j w tym przypadku) i działało to całkiem dobrze. Aby uzyskać informacje, używam połączenia bez hasła ssh
.
3 dni temu zaktualizowałem oprogramowanie NAS i od tego czasu (a przynajmniej tak mi się wydaje, od tego czasu) kopia zapasowa nie będzie działać. Na hoście pojawia się następujący błąd:
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
ERROR: module is read only
.. których nie rozumiem. poza tym nic się nie zmieniło, o czym wiem zarówno w źródle, jak i miejscu docelowym, które mogą być powiązane rsync
lub ssh
, sprawdziłem kilka rzeczy i wszystko wydaje się w porządku:
- Nadal mogę połączyć się
ssh
z hosta do mojego serwera NAS z dobrym użytkownikiem, więc rzeczy ssh, takie jak klucze, nie uległy zmianie. - Mam też odpowiednie uprawnienia do plików na serwerze NAS (sprawdziłem, a także starał się tworzyć pliki, katalogi, .. z użytkownikiem używanej przez
rsync
przezssh
).
Czytam tu i tam, że błąd oznacza, że muszę upewnić się, że mam do rsyncd.conf
tego prawo read only = no
, ale o ile wiem, nigdy nie użyłem rsyncd
tak dobrze, jak nigdy niczego nie konfigurowałem i do tej pory działało to jak urok. .
Używam następującego polecenia, aby wykonać kopię zapasową:
rsync -ab --recursive \
--files-from="$FILES_FROM" \
--backup-dir=backup_$SUFFIX \
--delete \
--filter='protect backup_*' \
$WDIRECTORY/ \
remote_backup:$REMOTE_BACKUP/
Więc utknąłem i naprawdę nie mogę zrozumieć, co się stało.
Edytować:
Jak zasugerowano w komentarzach, próbowałem również przekazać polecenia do ssh (ale nie z wnętrza sesji ssh), które działały zgodnie z oczekiwaniami, a także próbowałem pojedynczego polecenia rsync, które nie zadziałało, podobnie jak pełne polecenie tworzenia kopii zapasowej.
(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]
i
(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