Tenemos autenticado de inicio de sesión, encriptado archivo, rsync y el transporte múltiple protocolos (incluyendo HTTP, WebDAV, FTP y SSH/SFTP) en una sola herramienta: rclone
. Admite sistema de archivos local y un número de almacenamiento en la nube . Además, cuenta con los cuatro elementos mencionados servidores incorporados . Significa que todo lo que se necesita en ambos lados es rclone
. No hay acceso a root tampoco es necesario. Si quiere montar directorio remoto (utilizando rclone mount
), sin embargo, eso requiere soporte FUSE y acceso Root en Android.
rclone
tiene encriptación incorporada, es decir, los archivos en el remoto se crearán encriptados. También hay múltiples métodos de autenticación soportados, incluyendo nombre de usuario/contraseña y claves RSA (con SFTP), pero estos suelen ser innecesarios cuando el cifrado ya está ahí.
Un caso de uso sencillo:
En el servidor:
Ejecute el servidor SSH mínimo si no se está ejecutando ya:
~$ mkdir -p BackupDir/Encrypted
~$ rclone serve sftp --user <username> --pass <password> --addr :2222 BackupDir
Por teléfono:
Crear una contraseña oscura:
~$ rclone obscure <password>
Crear un archivo de configuración (utilizar rclone config
para los pasos sencillos):
# rclone.conf
[PLAIN_TARGET]
type = sftp
host = <server_ip>
port = 2222
user = <username>
pass = <obscure_password>
#key_file = /path/to/.ssh/id_rsa
[CRYPT_TARGET]
type = crypt
remote = PLAIN_TARGET:/Encrypted
filename_encryption = standard
directory_name_encryption = true
password = <obscure_password>
Copiar el archivo de prueba en el servidor sin y con encriptación:
~$ echo Hi >test_file
~$ rclone --config rclone.conf sync test_file PLAIN_TARGET:/
~$ rclone --config rclone.conf sync test_file CRYPT_TARGET:/
SFTP admite modificaciones marcas de tiempo El WebDAV y el FTP no lo hacen. Sin embargo enlaces simbólicos no pueden ser transferidos como enlaces simbólicos, estos son ignorados o el archivo original es copiado o .rclonelink
se crea un archivo. Una forma de copiar los enlaces simbólicos y todos los metadatos, incluyendo las marcas de tiempo, atributos extendidos (como las etiquetas SELinux), y ACLs es lanzar tar
flujo en rclone rcat
:
~$ tar --xattrs -cpvzf - test_file | rclone rcat CRYPT_TARGET:/test_file.tgz
Del mismo modo, puede recuperar el archivo utilizando rclone cat
. Esto también reducirá en gran medida tiempo de transferencia (incluso hasta menos de la mitad), especialmente si tiene un gran número de archivos de pequeño tamaño. Añadir una cantidad razonable de compresión a tar
puede incluso reducir el uso de espacio y el tiempo, pero la alta compresión también puede ir mal. Sin embargo, esta forma la sincronización incremental no funciona y necesitas untar
para utilizar los archivos en remoto. También es posible (mediante algunos scripts) encontrar primero sólo los archivos modificados ejecutando rclone check
o pasando la opción --dry-run
a rclone sync
y luego añadir esos archivos a tar
archivo.
No estoy seguro de si una cremallera de /
es suficiente para las copias de seguridad.
En Android rootfs /
contiene una serie de directorios y puntos de montaje - pseudo sistemas de archivos como sysfs
, procfs
y sistemas de archivos de sólo lectura como system
y vendor
particiones, de las que no se puede o no es necesario hacer una copia de seguridad. La configuración del usuario, los datos de las aplicaciones y los datos personales se almacenan en /data
partición. Para más detalles, véase Particiones y sistemas de archivos de Android y ¿Cómo se utiliza el espacio en disco en el dispositivo Android? .
Así que puedes hacer una copia de seguridad de los directorios seleccionados desde /data
o toda la partición al máximo. Sin embargo, como menciona @ alecxs en comentario, si tiene la intención de restaurar los datos de las aplicaciones (en /data/data
), tendrás que cuidar minuciosamente los metadatos de los archivos - en particular los UIDs/GIDs y los contextos SELinux.
Digamos que quieres hacer una copia de seguridad de todo /data
partición, hazlo:
~# tar --xattrs -cpvzf - /data | rclone -P rcat PLAIN_TARGET:/data.tgz
Para obtener ideas sobre cómo volcar particiones completas (dispositivos de bloques), consulte ¿Cómo recuperar un archivo borrado de la partición /data?