J'ai utilisé depuis un certain temps rsync / ssh pour sauvegarder le contenu de mon hôte partagé sur mon Synology NAS personnel (212j d'ailleurs), et cela a très bien fonctionné. Pour plus d'informations, j'utilise une ssh
connexion sans mot de passe .
Il y a 3 jours, j'ai mis à jour mon logiciel NAS et depuis (ou du moins je pense que c'est depuis ça), la sauvegarde ne fonctionnera plus. J'obtiens l'erreur suivante sur l'hôte:
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
ERROR: module is read only
..que je ne comprends pas. à part ça, rien de changé à la fois dans la source et la destination qui peut être lié à rsync
ou ssh
, j'ai vérifié quelques choses et tout semble aller bien:
- Je peux toujours me connecter
ssh
de l'hôte à mon NAS avec le bon utilisateur, donc les trucs ssh comme les clés n'ont pas changé. - J'ai également les autorisations de fichiers correctes sur le NAS (j'ai vérifié et j'ai également essayé de créer des fichiers, des répertoires, .. avec l'utilisateur utilisé par
rsync
viassh
).
J'ai lu ici et là que l'erreur signifie que je dois m'assurer que j'ai rsyncd.conf
le droit read only = no
, mais pour autant que je sache, je n'ai jamais utilisé rsyncd
aussi bien que je n'ai jamais rien configuré pour cela et jusqu'à présent, cela fonctionnait comme un charme. .
J'utilise la commande suivante pour faire la sauvegarde:
rsync -ab --recursive \
--files-from="$FILES_FROM" \
--backup-dir=backup_$SUFFIX \
--delete \
--filter='protect backup_*' \
$WDIRECTORY/ \
remote_backup:$REMOTE_BACKUP/
Je suis donc coincé et je ne peux vraiment pas comprendre ce qui s'est passé.
Éditer:
Comme suggéré dans les commentaires, j'ai également essayé de passer des commandes à ssh (mais pas à l'intérieur d'une session ssh), qui fonctionnaient comme prévu, et j'ai également essayé une seule commande rsync, qui n'a pas fonctionné, échouant comme la commande de sauvegarde complète.
(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]
et
(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