I've used from some time rsync/ssh to backup my shared host contents to my personal Synology NAS (212j for that matter), and it worked quite well.
For information, I use a password-less
3 days ago, I updated my NAS software and since (or at least I believe it's since that), the backup won't work anymore. I get the following error on the host:
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32) ERROR: module is read only
..which I do not understand. beside that nothing changed that I know of in both source and destination that can be related to
ssh, I did check a few things and all seems to be alright:
- I can still connect through
sshfrom the host to my NAS with the good user, so ssh stuff like keys haven't changed.
- I also have the correct file permissions on the NAS (I checked, and also tried to create files, directories, .. with the user used by
I read here and there that the error means that I have to ensure that my
rsyncd.conf have the right
read only = no in it, but as far as I know, I never used
rsyncd as well as I never configured anything for it and until now it worked like a charm..
I use the following command to do the backup:
rsync -ab --recursive \ --files-from="$FILES_FROM" \ --backup-dir=backup_$SUFFIX \ --delete \ --filter='protect backup_*' \ $WDIRECTORY/ \ remote_backup:$REMOTE_BACKUP/
So I'm stuck and really can't figure out what happened.
As suggested in comments, I also tried passing commands to ssh (but not from inside a ssh session), that worked as expected, and also tried a single rsync command, which didnt worked, failing just like the complete backup command.
(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