Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

rsync et les espaces

1 réponse
Avatar
Sébastien Baguette
Bonjour à tous,

Actuellement, je suis en train de mettre en place pour ma société une
solution de backup avec rsync. Le contenu important des disques serait
ainsi copié chaque nuit sur un serveur placé sur un site distant.

Après avoir contourné quelques soucis liés à la grande quantité de
fichiers à transferer (+/- 250.000), il me reste un souci important,
celui des espaces : je ne parviens pas à transférer le moindre dossier
dont le nom comporte un espace. (c'est des dossiers de messagerie IMAP)


Cette commande-ci marche parfaitement :

rsync -lHptgoDbxd -W -e "ssh -i /etc/dailybackup/rsync.key" \
"/home/mon dossier/" "/backup/mon dossier/"


Par contre, dès que je tente de récuperer le dossier depuis le serveur
distant, patatras ! La commande

rsync -lHptgoDbxd -W -e "ssh -i /etc/dailybackup/rsync.key" \
xxx@192.168.0.60:"mon dossier" "/backup/mon dossier"

me retourne le message d'erreur suivant :

rsync: link_stat "/home/mon" failed: No such file or directory (2)


J'ai eu beau tenter de mettre des \ pour tenter d'échapper l'espace afin
qu'il ne soit pas considéré comme une fin de nom de dossier, en vain.


Est-ce que quelqu'un aurait une piste, voire mieux, une solution ?
D'avance merci !

Bien à vous,

--
Sébastien Baguette
devilio@gmail.com

1 réponse

Avatar
lhabert
Sébastien Baguette :

rsync -lHptgoDbxd -W -e "ssh -i /etc/dailybackup/rsync.key"
:"mon dossier" "/backup/mon dossier"

me retourne le message d'erreur suivant :

rsync: link_stat "/home/mon" failed: No such file or directory (2)


J'ai eu beau tenter de mettre des pour tenter d'échapper l'espace afin
qu'il ne soit pas considéré comme une fin de nom de dossier, en vain.


Euh, tu en as mis combien? Si tu mets « "mon dossier" », le «  » est viré
par le shell depuis lequel tu lances le rsync, donc ça ne change rien. Si tu
en mets deux, le shell les remplace par un seul, donc rsync en voie un, qui
devrait être transmis au shell lancé à distance à travers ssh, si bien que
ça devrait marcher. Bon, ça, c'est à condition qu'il n'y ait pas d'autres
shells intermédiaires qui font chier.