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).