GMail: Backup incrementale e Time Machine su OSX

Come sistema di backup di GMail fino a qualche giorno fa utilizzavo un qualsiasi client IMAP (nello specifico Thunderbird) con le varie impostazioni per creare una copia in locale. Da tempo però avevo smesso di utilizzarlo come client email. La posta la leggo via web su GMail o via iPhone.

Mi son messo così alla ricerca di una soluzione un po’ più furba del dover aprire periodicamente Thunderbird. Ho trovato GMail Backup che, opportunamente configurato, esegue un backup incrementale quotidiano. La Time Machine fa il resto. Vediamo come.

Per prima cosa mi son creato una directory in Documenti/Backup chiamata GMail:
/Users/gullo/Documents/Backup/GMail/

In questa ho scompattato l’ultima versione di GMail Backup (al momento la 0.107) e ne ho creato una in cui posizionare il lunghissimo elenco di email: Backup. Poi un link simbolico che punta all’ultima versione di gmail-backup. In questo modo abbiamo:

iMacJazzo:GMail gullo$ pwd
/Users/gullo/Documents/Backup/GMail
iMacJazzo:GMail gullo$ ls -all
total 24
drwxr-xr-x      6 gullo  staff     204  3 Feb 13:58 .
drwxr-xr-x      4 gullo  staff     136  2 Feb 15:50 ..
-rw-r--r--@     1 gullo  staff    6148  3 Feb 14:00 .DS_Store
drwxr-xr-x  18598 gullo  staff  632332  3 Feb 14:20 backup
lrwxr-xr-x      1 gullo  staff      25  3 Feb 13:58 gmail-backup -> gmail-backup-0.107-linux/
drwxr-xr-x@    14 gullo  staff     476  3 Feb 14:19 gmail-backup-0.107-linux

In gmail-backup ho creato un file bash che esegue il backup incrementale:
makeBackup.sh

#!/bin/bash
DATASTART=`date -v -1d "+%Y%m%d"`
cd /Users/gullo/Documents/Backup/GMail/gmail-backup
./gmail-backup.sh backup ../backup/ xxxxxx@gmail.com passwd $DATASTART

La variabile DATASTART viene settata col giorno precedente rispetto al momento in cui lanciate lo script (con il formato corretto come richiesto da gmail-backup). In realtà gmail-backup effettua già un controllo tra ciò che ha già archiviato in locale e le novità presenti online ma se lanciate il comando senza alcuna data come parametro l’operazione può diventare estremamente lunga, soprattutto se avete qualche anno di email nel vostro account! Ecco perchè conviene impostare come parametro una data di partenza. Ci basta andare indietro di 1 giorno per avere la certezza di non perdere nulla.

Prima di passare alla pianificazione dello script ricordatevi di lanciare solo la prima volta il comando primo del parametro data:

./gmail-backup.sh backup ../backup/ xxxxxx@gmail.com passwd

In questo modo potrete creare il primo backup completo di tutte le email presenti in GMail, dalla prima all’ultima. Una volta concluso questo primo backup potremo pianificare l’operazione con launchd. A questo punto vi consiglio questo ottimo Tutorial su come pianificare operazioni con launchd su OSX.
La cartella backup (quella in cui archivierete il tutto) conterrà migliaia di file, uno per ogni email. La Time Machine farà il resto perchè, effettuando anch’essa backup incrementali, archivierà solo le email che di giorno in giorno verranno aggiunte nella suddetta directory.

Ultima consiglio: consultate la pagina delle FAQ nel caso in cui lo script dia errori. A me è risultata molto utile!!

Aggiornamento del 16/02/2011

In realtà mi sono accorto che la soluzione sopra è un po’ precaria: se non viene lanciata tutti i giorni si rischia di perdere qualche email. La soluzione corretta è memorizzare la data in cui il backup viene effettuato per poi recuperarla ogni volta, prima di procedere al nuovo backup.

In pratica il nuovo codice del file makeBackup.sh è:
makeBackup.sh

#!/bin/bash
DATASTART=`cat lastUpdate`
cd /Users/gullo/Documents/Backup/GMail/gmail-backup
./gmail-backup.sh backup ../backup/ xxxxxx@gmail.com passwd $DATASTART
date -v -1d "+%Y%m%d" > lastUpdate

Noterete che si fa riferimento ad un file di nome lastUpdate. Tale file viene creato automaticamente dopo la prima esecuzione dello script, poi semplicemente aggiornato alla fine di ogni backup. Il file memorizza la data del giorno precedente in modo da esser sicuri di recuperare tutto!

Aggiornamento del 19/01/2012

Da qualche giorno ho rilasciato un’App dedicata al backup di Gmail.
L’app è semplice e leggera, si installa nella Status Bar e, dopo una rapida configurazione, esegue in “silenzio” il backup. Puoi selezionare dove salvare il tutto e quando, se ogni ora o una volta al giorno ad un orario preciso.

Per chi non ha voglia di smanettare tra righe di comando e file di configurazione consiglio l’installazione di BackUp Gmail (disponibile sull’App Store).

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>