Mon NAS Synology vient de mettre à jour son firmware DSM et je constate en lançant ma sauvegarde rsync que la connexion rsync vers le NAS ne se fait plus : après saisie du mot de passe, on obtient une erreur “permission denied”.
Voici comment remédier à ce petit désagrément en deux minutes montre en main.
Problème : connexion SSH refusée
Lors de la connexion initiale, démarrée par :
rsync --ignore-existing --progress -vr --rsh='ssh -p22222' /home/backup/* root@example.com:/volume1/video
Code language: PHP (php)
on obtient le message d’erreur suivant, après saisie du mot de passe:
Permission denied, please try again.
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.1]
Code language: CSS (css)
Après vérification que les identifiants (user/password) sont bien corrects, il s’avère que la solution réside dans l’utilisation de l’argument --rsync-path
afin d’expliciter le chemin de l’exécutable rsync présent sur le NAS.
Solution : ajouter le chemin du binaire rsync du NAS
La solution est toute simple, il suffit de renseigner le chemin du binaire rsync
qui se trouve sur le NAS Synology comme argument de notre connexion.
Sous DSM5, le chemin de rsync
est /usr/syno/bin/rsync
.
A partir de DSM6, le chemin de rsync
est /usr/bin/rsync
, qui est le chemin habituel sous linux.
Nous ajoutons donc l’argument --rsync-path
à notre connexion initiale, ce qui nous donne :
rsync --ignore-existing --progress -vr --rsh='ssh -p22222' --rsync-path=/usr/bin/rsync /home/backup/* root@example.com:/volume1/video
Code language: JavaScript (javascript)
Et hop, la sauvegarde rsync est de nouveau fonctionnelle.
Recherchez-vous un expert WordPress ou WooCommerce sur qui vous pouvez compter? Ne cherchez plus.
Bonjour ,sous dsm 6 le chemin du fichier binaire rsync n’est plus au même endroit ..
Bonjour,
Oui – depuis DSM6, rsync se trouve maintenant sous
/usr/bin/rsync
, ce qui est le chemin standard sous linux.Il n’est donc plus nécessaire d’expliciter son chemin dans la commande.
Bonjour,
Merci cet article m’a beaucoup aidé. Par contre je suis bien sous DSM 6 et pourtant j’ai été obligé de mettre le chemin quand même. Cela ne fonctionnait pas sans.
Super merci beaucoup :) cette solution m’a bien dépannée
Je t’en prie Morgan :)
Bonjour,
Après mise à jour vers DSM 7, je rencontre la même erreur (alors que sous DSM 6 tout fonctionnait bien sans préciser l’argument rsync-path). Savez-vous si sous DSM 7, l’emplacement de rsync a été modifié ? Si oui, où est-il ?
Merci !
Bonjour Romain,
Je ne suis pas encore passé sous DSM7, je te tiens au courant si j’obtiens de nouveau l’erreur!
Merci pour ton aide, ca a fonctionné chez moi :)
Je suis passé sous DM7 et c’est ok
Le “whereis rsync” indique toujours /usr/bin/rsync
whereis rsync
rsync: /usr/bin/rsync /usr/share/rsync /usr/share/man/man1/rsync.1.gz
Mais j’ai du enlever des params pour que ca fonctionne:
rsync –progress -vr –rsync-path=/usr/bin/rsync /home/$USERNAME/Pictures/ 192.168.x.xx:/volume1/PI
Merci encore :)
Nickel, merci pour la mise à jour de la commande Matthieu!