Search | Sailfish OS | Running | PineTime | All Posts

Automatiser le déplacement des sauvegardes Signal sous Sailfish OS

May 29, 2022 — Nico Cartron

Comment automatiser le déplacement des sauvegardes Signal de la mémoire du téléphone vers la carte μSD sous Sailfish OS ?


Contexte

Les auteurs

Cet article a été rédigé par Pierre "mips_tux" et Patrick "pherjung", deux membres de la communauté Sailfish OS France, et je les en remercie.

Avertissement

Bien évidemment, les manipulations décrites ci-dessous sont à faire à vos risques et périls, et il est préférable d'avoir un minimum de connaissances sur Linux et l'utilisation de la ligne de commande.

Allons-y !

Problématique

Signal (Android) ne « voit » pas la carte μSD et les sauvegardes s’effectuent par défaut dans le dossier ~/android_storage/Download.
Signal effectuant plusieurs sauvegardes, elles peuvent rapidement prendre beaucoup de place, notamment sur les XA2 qui ne possèdent que 32 Go de stockage avec seulement, et au mieux, ~15 Go utilisables pour les programmes et les données.

Solution de contournement

L’idée est d’automatiser le déplacement des fichiers de sauvegarde de Signal vers la carte μSD, un dossier symbolique pointant sur la carte μSd ne fonctionnant pas non plus.

Pour ce faire, grâce à l’aide de pherjung, nous avons fait un script qui synchronise (rsync) le dossier de sauvegarde de Signal dans la mémoire du téléphone vers la carte μSD et ne garde que les 2 dernières sauvegardes.

Prérequis

Nous partons du principe :

  1. Que vous savez vous connecter à votre smartphone à partir d’un PC en utilisant une connexion SSH ou en mode commande ;
  2. Que vous savez passer en mode root (ou administrateur) avec la commande devel-su.

Etape 1: création des dossiers

Afin que les fichiers de sauvegardes ne soient pas mélangés avec d’autres fichiers qui peuvent se trouver dans le dossier ~/android_storage/Download il faut créer un nouveau dossier spécifique.

Par défaut, Signal place ses sauvegardes dans ~/android_storage/Download

Créez, à partir des paramètres Signal un dossier svg-signal dans ~/android_storage/Download

Une fois créé, ne pas oublier d’autoriser l’accès au dossier svg-signal.

Si vous avez déjà activé les sauvegardes de Signal, cela supprimera les sauvegardes existantes. Forcez une nouvelle sauvegarde dans ce nouveau dossier.
Signal va générer un nouveau mot de passe de récupération. Conservez bien ce mot de passe, de préférence dans votre portefeuille de mots de passe si vous en avez un. Il sera nécessaire pour la restauration de vos fils de discussions si vous changez/perdez votre téléphone.

Etape 2: le script

#!/bin/bash
# Test if file exists
backups=$(ls -1 $1/|wc -l)
if [ $backups -gt 0 ]
then
rsync -a --remove-source-files --chown=defaultuser:defaultuser $1/ $2
else
exit
fi
# Count amount backup
files=$(ls -1 $2| wc -l)
# Keep only two latest backup
if [ $files -gt 2 ]
then
cd $2
rm $(ls -1t $2| sed -n '3,$p')
fi

(Source du script : https://gist.github.com/pherjung/3acf8ed0b0888b772068a191053c820d

  • Copier/Coller le script dans un éditeur de texte.
  • L’enregistrer dans /home/defaultuser/.local/ en lui donnant comme nom de fichier : mvBackup.sh
  • Ou téléchargez-le avec la commande suivante :
    curl -o /home/defaultuser/.local/mvBackup.sh https://gist.githubusercontent.com/pherjung/3acf8ed0b0888b772068a191053c820d/raw/ 75bda99778d7e30bd017fbb1bc9d990fa4fcf80b/mvBackup.sh

Etape 3: modifier les droits du fichier mvBackup.sh

Avec votre terminal placez-vous au niveau /home/defaultuser/.local où se trouve votre script.

Puis saisissez la commande suivante : chmod u+x mvBackup.sh

Etape 4: vérifier le fonctionnement du script

Avec un terminal, copier-coller cette commande et lancez-la (pensez à utiliser la touche TAB).

/home/defaultuser/.local/mvBackup.sh /home/defaultuser/android_storage/Download/svg-signal /run/media/defaultuser/Le_nom_de_la_carte_μSD/Signal-backup

Laisser le temps au système de faire l’opération (en fonction de la taille des fichiers à déplacer) puis vérifier que le dossier ~/android_storage/Download/svg-signal soit vide et que le dossier sur la carte μSD se soit bien mis à jour.

Etape 5: installer l’application Situations

Cette application est disponible dans le store Jolla.
Elle permet d'automatiser tout un tas de choses, et on va la mettre à contribution pour lancer de manière automatique notre script - un peu comme une Crontab :)

Etape 6: paramétrage de Situations

Dans le menu de Situations, ouvrez « Fonctionnalités » et activez « Command ».
Vous pouvez aussi activer « Log » en cliquant sur la flèche verte.

Créez ensuite une nouvelle « situation » en cliquant sur le bouton + qui se trouve en bas de l’écran.

Donnez-lui un nom comme « Sauvegarde Signal ».
Cliquez sur Quand puis dans Time and Location, choisissez « Horaire ».
Choisissez par exemple 10:00 – 12:00 puis validez.

Ensuite dans Quoi, rentrez la commande vérifiée à l’étape 4 :
/home/defaultuser/.local/mvBackup.sh /home/defaultuser/android_storage/Download/svg-signal /run/media/defaultuser/Le_nom_de_la_carte_μSD/Signal-backup

Puis validez.

Conclusion

Voilà, c'est terminé. Vérifiez ensuite que la ou les sauvegardes ont bien été déplacées vers la carte μSD dans le bon dossier.

Je remercie encore une fois Pierre et Patrick pour cet article, et si vous l'aviez apprécié, faites-le nous savoir sur le Canal Telegram SFOS France.


Tags: SailfishOS, Francais, Tips


I don't have any commenting system, but email me (nicolas at ncartron dot org) your comments!
If you like my work, you can buy me a coffee!