Je tente d'utiliser expect pour gérer rsync via un shell ssh, mais il reste bloqué.
Si j'exécute 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 ensuite cela dans un expect :
expect -d -c "spawn rsync -e ssh -" -c "expect password:" -c "send mypass\r"
Il ne s'exécute pas correctement, le programme se ferme et aucun fichier n'est copié. Même le mode de débogage ne donne pas beaucoup d'indices.
Je suppose que rsync crée le processus ssh, et c'est le processus ssh avec lequel il faut interagir, mais send récupère l'identifiant du processus rsync et envoie l'entrée là-bas.
Des idées ?