#!/usr/bin/env bash # # Android backups using MTP # # Overall procedure # # PROFILE="profile-name" # PHONE="phone-name" # go-mtpfs ~/temp/shared/$PHONE/$PROFILE & # time rsync -av --delete ~/temp/shared/$PHONE/$PROFILE/ ~/sync/$PHONE/$PROFILE/ # fusermount -u ~/temp/shared/$PHONE/$PROFILE # # Parameters BASENAME="`basename $0`" PHONE="$1" PROFILE="$2" SHARED="$HOME/temp/shared/$PHONE/$PROFILE" SYNCED="$HOME/sync/$PHONE/$PROFILE" COMMANDS="go-mtpfs rsync fusermount" # Syntax check if [ -z "$PROFILE" ]; then echo "usage: $BASENAME " echo "" echo "Overall procedure:" echo "" echo "For each user profile:" echo "" echo "1. Log into the profile on the phone." echo "2. Export the contacts somewhere like Backups/Contacts/contacts.vcf." echo "3. Run a local backup to the internal storage (to the .SeedVaultAndroidBackup folder)." echo "4. Run Signal and Molly backups (to the Backups folder)." echo "4. Mount the profile folder in the computer." echo "5. Sync the profile in the respective folder." echo "" echo "The last two steps are done through $BASENAME commend" exit 1 fi # Commands check for tool in $COMMANDS; do if ! which $tool &> /dev/null; then echo "error: please install $tool" exit 1 fi done # Backup go-mtpfs $SHARED & time rsync -av --delete $SHARED/ $SYNCED/ fusermount -u $SHARED