Table des matières

Backup de mon téléphone Android

Depuis le passage à Android 11, Android n'autorise plus les applications à accéder à Android/data, cette procédure n'est donc plus valide. Je procède désormais à un backup par FolderSync (voir en fin de page).

Pour ceux que cela pourrait intéresser, voici comment je procède pour le backup de mon téléphone. Comme je ne fais absolument aucune confiance aux différents clouds, je n'utilise pas la sauvegarde automatique proposée par Google ou les différents constructeurs. J'effectue la sauvegarde uniquement du téléphone vers mon ordinateur personnel avec les logiciels de mon choix. Le backup n'est pas automatique: il est en lancement manuel.

Ce qui est sauvegardé:

Les paramètres des applications ne sont donc pas sauvegardés (sauf les applications qui enregistrent leurs paramètres sous forme de fichiers).

Logiciels utilisés

Sur le téléphone:

Sur l'ordinateur:

Principe

Cela ne fait que 2 actions simples à effectuer pour lancer le backup, une fois par semaine.

Fonctionnement: Mon script monte (via sshfs) le stockage du téléphone exposé par primitive ftpd dans un répertoire. Puis borg vient faire la sauvegarde de ce répertoire (ce qui embarque également les fichiers de sauvegarde contacts/sms/agenda créés par SuperBackup).

Préparation

Avant que le script soit utilisable, il faut paramétrer un certain nombre de choses:

Avantages/inconvénients

J'ai parfaitement conscience que ce mode de backup n'est pas adapté à tout le monde, puisqu'il nécessite deux actions manuelles pour lancer un backup. Cela implique une certaine discipline.

Mais il a l'avantage:

Script

Voici le script que j'utilise (certaines informations confidentielles ont bien entendu été modifiées).

backup.sh
#!/bin/bash
cd "${0%/*}"
mkdir -p mount
 
if [ ! -d "mount/emulated/0/Android" ]; then
    echo "Montage du répertoire distant..."
    echo "motdepasse" | sshfs admin@192.168.0.13:/storage mount -p 11222 -o password_stdin
fi
 
if [ ! -d "mount/emulated/0/Android" ]; then
    echo "Montage incorrecte. Arrêt du backup."
    exit
fi
 
# Backup borg du téléphone (CC1D-1527/ = carte MicroSD ; emulated/0/ = mémoire interne du téléphone)
borg create --list --filter=AME -v --progress --compression zstd,7 --stats --files-cache=ctime,size --exclude-caches backup-telephone.borg::{now} mount/CC1D-1527/ mount/emulated/0/ 
 
# Démontage une fois le backup terminé:
fusermount -u mount
 
# Purge des backups si vous le souhaitez:
#borg prune -v --list --stats --keep-daily=7 --keep-weekly=4 --keep-monthly=12 backup-telephone.borg/
 
echo "--- Backup terminé ---"
read

À noter:

CACHEDIR.TAG
Signature: 8a477f597d28d172789f06886806bc55

Explication de toutes les options de la ligne de commande borg utilisée:

Questions/FAQ/idées

Android 11 : Backup par MTP

Le backup par MTP fonctionne, mais étant horriblement lent, j'ai à nouveau changé ma méthode de backup, en passant par FolderSync (voir plus bas)

Android 11 n'autorisant plus les applications à accéder à Android/data, j'ai dû revenir à un backup par MTP (câble USB). C'est horriblement lent: MTP est très lent pour aller récupérer le contenu d'un répertoire (mais rapide pour transférer un fichier). Mais je n'ai pas le choix.

Voici donc le script que j'utilise:

backup-mtp.sh
#!/bin/bash
cd "${0%/*}"
#Création du repo:  mkdir -p backup-mia3.borg; borg init --encryption=repokey-blake2 backup-mia3.borg
sourcedir='/run/user/1002/gvfs/mtp:host=Xiaomi_Mi_A3_8366d9d2b359'
borgdir=$(pwd)
 
# Backup
cd "$sourcedir"
nice borg create --list --filter=AME -v --progress --compression=zstd,7 --stats --checkpoint-interval 900 --files-cache=mtime,size --exclude-caches -e "Carte SD Samsung/Android/data/net.osmand.plus/files/*.obf" "$borgdir/backup-mia3.borg::{now}" '.'
cd "$borgdir"
 
echo "--- Backup terminé ---"
read

Une autre piste que MTP est d'utiliser adbfs : https://github.com/spion/adbfs-rootless

Android 11 : Backup par FolderSync

Sous Android 11, les applications ne peuvent plus accéder simplement à tout ce qu'il y a dans Android/data. Les serveurs ssh/ftp ne fonctionnent plus correctement par rapport à ça. MTP permet le backup, mais c'est horriblement lent. J'ai donc choisi de passer par FolderSync qui - lui - accède sans problème à Android/data et tout le stockage (interne et sdcard).

FolderSync est une application Android. La version gratuite est déjà très sympa, mais j'ai pris la version payante qui a des fonctions plus avancées.

Je procède donc comme suit:

backup-telephone-foldersync.png

Inconvénient:

Avantage:

Pour faire le backup, je dois:

Ce n'est pas très contraignant.

À noter:

Pour plus d'informations:

EDIT: Vous êtes plusieurs à me parler de SyncThing : Même si l'application est super sympa à utiliser, elle ne me convient pas. Je préfère FolderSync car il est capable de se greffer à n'importe quel serveur existant (ssh, ftp, smb, webdav/NextCloud, et même GoogleDrive, DropBox, etc.). FolderSync possède aussi des fonctions plus poussées (comme le fait de ne se synchroniser que sur certains réseaux Wifi).