My Writings. My Thoughts.

Backing up Google

February 23rd, 2011 8:24am - No Comments »

The cloud is great; having access to all of your important information where ever you are is a huge convenience and one that many of us wouldn’t want to give up. But what happens when the provider you’re using loses all your information?

Google states that they keep ”…multiple backup copies of users’ emails so that we can recover messages and restore accounts in case of errors or system failure…” but don’t clarify how much they back it up, if you can get access to it, or how long it might take to recover your data. If it can be recovered at all. Of course, I have a lot of trust that Google is already doing the right thing, but there’s no SLA, the restore time for data is unknown as is the retention period. Being free services I don’t expect there to be any such guarantees.

So, with that in mind, I decided that before I ran into trouble I’d make sure all the information I want is backed up somewhere so I can sleep at night. My requirements were simple: Something I could automate which saves my Google data to local disk, and is in a format easily accessible should I require it. I’m already managing backups of my digital photos and other important data using rdiff-backup to create an incremental backup across multiple disks (including a regular off-site backup), so once I have the data on my servers I know it ought to be safe. Note that as I am using a Windows machine to perform the backups, this discussion will centre on applications specifically for that platform.

The services I have managed to backup automatically are Google Mail, Google Docs and Google Calendar. I have not yet managed to automate backups for Google Contacts, Google Tasks or Google Reader — in fact, I couldn’t even find how to backup Google Tasks at all! I don’t use other services such as Picasa or Youtube, or at least don’t require a backup of that data.

Google Mail

There are plenty of ways to backup Google Mail. You could use an IMAP-compatible mail client such as Thunderbird to simply download a local copy of the mail. But I want an automated backup I don’t need to remember to perform.

Enter Gmail Backup. This command-line application simply downloads a copy of each of your emails–including attachments–individually, as .eml files (Thunderbird, Outlook can both open these sorts of files). It’s clever enough to figure out if it has already downloaded an email and won’t overwrite it, and you can even give it a date range so it doesn’t have to go over years of emails you already know are backed up. The only cons I’ve noticed so far is that email is marked as read as it downloaded, and that your password must be saved in plain text.

All you need to do is create a .cmd file with a command similar to the following:

gmail-backup.exe backup [directory to backup email] yourusername@gmail.com [password]

and you’re done. Run that every night and your mail will be faithfully backed up.

Google Documents

You can easily download a ZIP of all of your documents (highlight all, click on Actions) but again, I wanted an automated backup.

For this I used GDocBackup, which has both a GUI and command-line component. Obviously, for backup purposes I chose to use the command-line functionality. This application allows you to choose the output format (Microsoft Office, OpenDocument, PDF), and can save your password, encrypted, in a separate file to prevent plain text being saved. How secure it is I don’t know, but at least the illusion of security is there. It’s also clever enough to skip unchanged files. The only possible con is that GDocBackup seems to download all documents, even if you didn’t create them (that is, it will download documents others have shared with you).

Again, create a .cmd file, and run a command similar to this:

GDocBackupCMD.exe -mode=backup -username=yourusername -passwordEncFile=passwd.txt -destDir=[directory to backup documents] -docF=odt -sprsF=ods -presF=odp -downloadall=yes

and all your documents will be downloaded, including the folder structure you’ve created.

Google Calendar

Google Calendar is probably the easiest of the bunch to backup. All you require is Wget and you’re ready to go. In your Google Calendar, click the dropdown icon beside and calendar and go to Calendar Settings. In there, at the bottom, is your Private Address. Copy the link (you’re probably best off using the ICS link) and create a .cmd file similar to this:

Wget.exe -O [filename and path to save calendar file] http://www.google.com/calendar/ical/username@gmail.com/private-273hd2h7fh592idk3091odp200dn18dj3/basic.ics

and your calendar will be saved in the ICS format, which Outlook and many other applications can read.

Google Contacts, Google Tasks and Google Reader

I haven’t found a way to automatically backup these yet. Google Contacts can be exported to CSV by clicking the Export button at the top and choosing the relevant options. Google Reader exports to OPML format in the Settings -> Reader Settings -> Import/Export menu. Unfortunately, I haven’t yet found a way to backup Google Tasks at all. Coupled with the fact you can’t share tasks means I don’t use it nearly as much as I could.

I hope this has proved helpful to show how easy it is to backup your important data. If you’re reading this, I urge you to think about what would happen if you lost it tomorrow. Plan your backup process right now, and start setting it up tonight!