Backups are a critical aspect of any business. We use mongodb to store JSON documents generated by Postmark. This data changes frequently, so naturally it gets backed up on a regular basis. I recently set out to restructure our mongodb backups, which previously we strictly used mongodump to perform routine backups. Unfortunately the behavior of mongodump is quite simplistic and lacks some important functionality such as the ability to pipe backup data directly to a compressed file, so I went on the hunt for a polished open source solution and came up empty.
I set a couple hours aside to code our own solution (mongosback) which ultimately is a wrapper around mongodump that provides us with all of the functionality we need and even some we don’t. We have been using the core of mongosback in production with excellent results. After some polishing and modifications to make it user friendly, it’s now being released as open source.
- Performance throttling (low, medium, high).
- Integrated compression (tunable: fast, medium, best).
- Archiving (keep X days backup on hand). Automatically purges.
- Backup exporting, move most recent backup to FTP or SSH/SCP.
- In-depth logging, e-mail notifications and many configurable options.
Without further adieu, check out mongosback, feedback and suggestions welcome.