Je suis en train d'essayer d'utiliser rsync
pour transférer quelques fichiers de mon téléphone Android (Samsung Galaxy S10+ / Android V10) vers ma machine locale (OSX / Mojave).
J'ai fait ce qui suit:
-
Installé Serveur SSH/SFTP sur mon appareil Android et démarré le serveur
-
Vérifié que je peux me connecter en
ssh
sur le téléphone (bien qu'il me connecte en tant qu'utilisateuru0_a312
et nonmon_utilisateur
?)$ ssh mon_utilisateur@192.168.0.16 -p 2222
- L'authenticité de l'hôte '[192.168.0.16]:2222 ([192.168.0.16]:2222)' ne peut être établie.
- Empreinte de clé RSA: SHA256:3mNL574rJyHCOGm1e7Upx4NHXMg/YnJJzq+jXhdQQxI.
- Êtes-vous sûr de vouloir continuer la connexion (yes/no) ? yes
- Avertissement : ajout de l'hôte '[192.168.0.16]:2222' (RSA) à la liste des hôtes connus.
- Authentification par mot de passe
- Mot de passe:
- / $ whoami u0_a312
-
Essayé d'exécuter
rsync
depuis ma machine OSX locale pour copier des fichiers Android distants sur mon ordinateur portablersync -avzhP -e "ssh -p 2222" mon_utilisateur@192.168.0.16:/storage/6632-6330/DCIM/Camera/* .
Authentification par mot de passe Mot de passe: L'exécution de la requête a échoué sur le canal 0 rsync: connection unexpectedly closed (0 bytes received so far) [receiver] rsync error: error in rsync protocol data stream (code 12) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-52.200.1/rsync/io.c(453) [receiver=2.6.9]
Comme vous pouvez le voir, j'ai rencontré une erreur à l'étape 3. En fouillant un peu sur les forums, il semble que rsync
doit être installé sur le périphérique Android distant.
(Cela est également confirmé par le fait que which rsync
ne renvoie rien lorsqu'il est exécuté depuis l'interpréteur de commandes Android)
Cependant:
- Comment puis-je installer
rsync
sur le téléphone? Est-ce même la bonne solution ici? - Je n'ai jamais eu besoin de le faire sur mon téléphone précédent (Galaxy S7), le processus
rsync
ci-dessus "fonctionnait simplement". Quelque chose a-t-il changé dans l'installation standard d'Android concernantrsync
?
0 votes
Je n'ai jamais essayé cela, mais peut-être que Syncopoli pourrait aider. Il se décrit comme "Un client rsync qui fonctionne", donc espérons que ça fonctionne.
0 votes
Bien sûr, vous avez besoin du binaire
rsync
côté Android pour que la synchronisation fonctionne.rsync
n'a jamais fait partie de l'installation standard d'Android. // Vous pouvez utiliser Termux à la fois poursshd
etrsync
. Simple. Ou placez le binairersync
quelque part dans votre $PATH. // Une autre idée est d'utiliserrclone
des deux côtés avec un serveur intégrésftp
. // Pourquoi vous connectez-vous en tant qu'utilisateuru0_a312
(l'UID de l'application) et non en tant quemy_user
, le concept d'utilisateurs et de connexion dans Android: android.stackexchange.com/questions/2099180 votes
Répondre ici bien aide sur comment installer
0 votes
La réponse ici peut être d'un certain intérêt android.stackexchange.com/a/179899/131553
1 votes
Salut @user2490003, tout ce que vous faites est correct et la raison pour laquelle cela ne fonctionne pas est que le serveur SSH/SFTP ne prend pas en charge rsync. Utilisez simplement l'application appelée SimpleSSHD du Play Store et cela fonctionnera avec vos commandes existantes. Le seul inconvénient est qu'il y a un peu de travail supplémentaire à faire, c'est-à-dire que vous devez copier le fichier id_rsa.pub dans le dossier authorised_keys de l'application pour une authentification sans mot de passe.