vdirsyncer synchronizes your calendars and addressbooks between two storages. The supported storages are CalDAV, CardDAV, arbitrary HTTP resources and some more. It aims to be for CalDAV and CardDAV what OfflineIMAP is for IMAP.