We have just migrated our calendars from MeetingMaker to Google Apps for Education.
This cloud service is of course very cool and all that, but I would still like to have an off-cloud backup.
There are several commercial applications that you can, but I wanted something simple that can be scheduled from CRON.
A useful script is the one from Matthew M. Boedicker.
This script uses WWW:Mechanize to login in to Google Calendar and download a ZIP copy of all the calendars.
If you make sure the user account is an administrative one, and is subscribed to all your users calendars, this will make a ZIP file containing all calendars.
Unfortunately that did not work straight away, because our 'regular' users use federated logins to the Google Calendar.
So the URLs in Matthew's script did work. Moreover, the federated stuff makes 'mechanizing' it alot more complex.
The good thing is you can have non-federated accounts as well, you'll need to use https://www.google.com/a/cpanel/domain.com to access the control panel.
From there, the admin can also make backups of calendars.
I adjusted the original script to use that specific administrative page. Also, I made the script read in a password file, instead of giving sensitive information on the command line, which makes it show up in the process list. This might be an issue, since backing up several large calendars takes a while.