❗ This package should be used a simple tool to aid development. Use mongodump and mongorestore proper for mission critical operations.
👍 Works on meteor.com hosting
Example: http://app-dump-example.meteor.com/, or check the /example folder
Generates a downloadable tar backup of the current mongo database, which can be uploaded to restore.
Use {{> appDumpUI}} to add download and upload UI to your template.
Secure the download and upload method on the server:
if Meteor.isServer
appDump.allow = ->
# do your own auth here -- eg. check if user is an admin...
if @user?.admin
return trueAdditionally, if you're using iron-router hooks to secure your routes, use the following to add an exception (thanks @Khalid545):
Router.onBeforeAction IR_Filters.mustBeSignedIn,
except: ['appDumpHTTP']You can use {{> appDumpUI advanced=true}} to get additional options:
- JSON/BSON Output Format - you can only restore in BSON format at the moment
- Drop collections on restore
- Specific collection backup
- Specific query backup (in JSON format, eg
{"deleted":false})
What's wrong with hitchcott:backup-restore?
It doesn't work with the meteor.com deployment servers because it requires MongoDB to be installed on the host system.
hitchcott:app-dump uses a pure node implementation, so does not require mongodump or mongorestore. It also uses streams for serving the tar, so it's a bit more efficient and secure.
- [bug] I have experienced an issue with large grid-fs collections being restored while writes are occuring.
- Tests
Chris Hitchcott, 2014, MIT License
Benjamin Chalich, 2015 - pull request to add query parameters to adjust functionality.
hex7c0 for creating mongodb-backup and mongodb-restore