Estoy tratando de usar rsync
para transferir algunos archivos de mi teléfono Android (Samsung Galaxy S10+ / Android V10) a mi máquina local (OSX / Mojave).
Hice lo siguiente:
-
Instalado Servidor SSH/SFTP en mi dispositivo Android e inicié el servidor
-
Verificado que soy capaz de
ssh
en el teléfono (aunque me registra como usuariou0_a312
y nomy_user
?)$ ssh my_user@192.168.0.16 -p 2222
- The authenticity of host '[192.168.0.16]:2222 ([192.168.0.16]:2222)' can't be established.
- RSA key fingerprint is SHA256:3mNL574rJyHCOGm1e7Upx4NHXMg/YnJJzq+jXhdQQxI.
- Are you sure you want to continue connecting (yes/no)? yes
- Warning: Permanently added '[192.168.0.16]:2222' (RSA) to the list of known hosts.
- Password authentication
- Password:
- / $ whoami u0_a312
-
Intento de ejecución
rsync
desde mi máquina local OSX para copiar los archivos remotos de Android a mi portátilrsync -avzhP -e "ssh -p 2222" my_user@192.168.0.16:/storage/6632-6330/DCIM/Camera/* .
Password authentication Password: exec request failed on channel 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]
Como puedes ver, me encontré con un error en el paso 3. A partir de algunos husmeos básicos en los foros, parece que rsync
debe estar instalado en el dispositivo remoto Android.
(Esto también está respaldado por el hecho de que which rsync
no devuelve nada cuando se ejecuta desde el shell de Android)
Sin embargo:
- ¿Cómo se instala?
rsync
en el teléfono? ¿Es esta la solución correcta en este caso? - Nunca necesité hacer esto en mi anterior teléfono (Galaxy S7), lo anterior
rsync
proceso "simplemente funcionó". ¿Ha cambiado algo en la instalación estándar de Android con respecto arsync
?
0 votos
Nunca he probado eso, pero tal vez Syncopoli podría ayudar. Se describe a sí mismo como "Un cliente rsync que funciona", así que es de esperar que, erm, funcione.
0 votos
Obviamente, necesitas
rsync
binario en el lado de Android para que la sincronización funcione.rsync
nunca ha formado parte de la instalación estándar de Android. // Se puede utilizar Termux tanto parasshd
yrsync
. Simple. O ponerrsync
en algún lugar de su $PATH. // Otra idea es utilizarrclone
en ambos lados consftp
servidor incorporado. // Por qué se inicia la sesión como usuariou0_a312
(el UID de la aplicación) y nomy_user
El concepto de usuario y de inicio de sesión en Android: Android.stackexchange.com/questions/2099180 votos
Respuesta aquí ayuda sobre cómo instalar
0 votos
La respuesta aquí puede ser de interés Android.stackexchange.com/a/179899/131553
1 votos
Hola @user2490003 todo lo que estás haciendo es correcto y la razón por la que no funciona es que el servidor SSH/SFTP no soporta rsync. Sólo tiene que utilizar la aplicación llamada SimpleSSHD de playstore y va a trabajar con sus comandos existentes..Only dolor es que hay un poco de trabajo extra que hacer y que es lo que necesita para copiar el archivo id_rsa.pub a la carpeta authorised_keys aplicaciones para la autenticación sin contraseña.