Un script simple pour synchroniser en USB les fichiers de votre téléphone avec rsync
Je cherchais une solution pour pouvoir synchroniser les photos de mon téléphone (android) vers mon ordi lorsque je le recharge. J'utilise Debian 9 avec un bureau Gnome 3.22.2.
Par défaut le téléphone apparait dans Nautilus lorsqu'il est branché avec l'option "Transférer les fichiers", le système monte la mémoire interne et la carte sd externe (s'il y en a une) dans le navigateur de fichier. Il est alors possible de transférer des fichiers comme avec n'importe quel support externe.
Mon problème était de gérer le transfert de mes nouvelles photos entre deux branchements sans etre obligé de les transférer manuellement. La solution la plus simple est d'utiliser rsync (a installer car non présent par défaut). La difficulté que j'ai rencontrée est qu'il faut indiquer le chemin du dossier d'origine, cad le chemin du dossier du téléphone monté dans Nautilus. D'habitude les médias externes montent dans le dossier /media avec un chemin qui est toujours le même, ici les dossiers sont montés dans /run/user/identifiant_utilisteur/gvfs/ suivi d'une adresse du style mtp://[usb:001,010]/ les deux nombres changeant à chaque branchement du téléphone ce qui ne permet pas d'avoir une adresse constante pour le périphérique.
Après quelques recherches... la solution la plus simple est d'utiliser le signe * dans le chemin, l'* va remplacer l'adresse usb entre crochet par celle qui est active au moment du branchement et ainsi le chemin sera toujours le bon.
Le voici le script pour automatiser tout ca... Bien sur remplacez les chemins des dossiers que vous voulez synchroniser par ceux qui correspondent à votre configuration... L'enregistrer sous SyncAndroid.sh et autorisez l'éxécution dans Propriétés>Permissions. Cliquez sur le fichier pour le lancer ou dans Gnome avec l'extension "Top Bar Script Executor" pour avoir un icone dans la barre du bureau.
En espérant que ce script puisse etre utile à d'autres...
#linux #gnome #rsync #android #sync #script #usb
#!/bin/bash
#Definir les variables dossier source et dossier destination
folder_Android=/sdcard1/DCIM/Camera/
folder_Home=/home/jerome/Images/Photos_Android
#Synchro avec rsync
rsync -a --delete-after /run/user/$UID/gvfs/mtp:*$folder_Android $folder_Home