Je suis en train d'essayer d'utiliser expect pour gérer rsync via un shell ssh, mais ça reste bloqué.
Si je lance ma commande rsync, ça fonctionne (simplifié ici) : Il me demande mon mot de passe et copie les fichiers sur le serveur :
rsync -e ssh -
Si j'encadre cela avec expect :
expect -d -c "spawn rsync -e ssh -" -c "expect password:" -c "send mypass\r"
Ça ne s'exécute pas correctement, le programme se ferme et aucun fichier n'est copié. Même le mode debug ne donne pas beaucoup d'indices.
Je pense que rsync lance le processus ssh, et c'est le processus ssh qui doit être interagi avec, mais send récupère l'identifiant du processus rsync et envoie l'entrée là-bas.
Des idées ?