Opened 12 years ago

Last modified 12 years ago

#31 closed defect (FIXED)

Tool to create a tarball of the current environment (database, media files, etc)

Reported by: Christopher Allan Webber Owned by: joar
Priority: minor Milestone: 0.0.5
Component: programming Keywords:
Cc: Parent Tickets:


It would be great if we had a tool that could do something like:


    ./bin/gmg environment_tarball mediagoblin.ini tarball_name.tar.gz

That contained something like:


    ./public_store/ # all public store files kept here
    ./queue_store/ # all queue store files kept here

Change History (12)

comment:1 by Christopher Allan Webber, 12 years ago

I guess it would also be nice to have:


    ./bin/gmg load_environment_tarball mediagoblin.ini tarball_name.tar.gz

which does the opposite: it sucks up all the info from that tarball
and installs it in place. Having these tools would make developing
a lot easier I think :)

comment:2 by Aaron Williamson, 12 years ago

Right now, the easiest way to back up the databases is with
mongodump, which exports bson (binary json). To export all of the
relevant databases:


    mongodump --db mediagoblin --out /path/to/dump/to/
    mongodump --db kombu_default --out /path/to/dump/to/

These can then be restored using ``mongorestore``

To get ASCII json instead of bson, you have to use ``mongoexport``.
``mongoexport`` requires you to specify a collection (table) to
export -- you can't just export an entire mongo db as json (see the
`feature request <>`_).
Example usage (export the "media\_entries" collection from the
"mediagoblin" database:


    mongoexport -d mediagoblin -c media_entries

comment:3 by Will Kahn-Greene, 12 years ago

Component: Infrastructure
Milestone: 0.0.3
Owner: set to Will Kahn-Greene
Grabbing this one to implement whatever is missing for allowing a
hacker-type person to backup and restore a single user's stuff from
the command line.

comment:4 by Elrond, 12 years ago

Component: InfrastructureProgramming
This is coding, or maybe documentation later. Definitely not

comment:5 by Will Kahn-Greene, 12 years ago

I was thinking this was infrastructure because it's part of the
administration scripts and build environment stuff. I guess I don't
understand the categories.

comment:6 by Elrond, 12 years ago


comment:6 by Caleb Davis, 12 years ago

I would like to use the 'import' side of this feature to load test
data during index unit testing, so I added that this feature blocks
`#432 </issues/432>`_. My thinking is, if we had good test data we
could assert limits on how long queries should take using

comment:7 by Will Kahn-Greene, 12 years ago

I can't get to this for 0.0.4, so I want to push it off to 0.0.5.

comment:8 by joar, 12 years ago

Owner: changed from Will Kahn-Greene to Joar Wandborg

comment:9 by joar, 12 years ago

Owner: changed from Joar Wandborg to Christopher Webber
Status: NewFeedback
Merge request at
`\_requests/17 <>`_

comment:10 by Christopher Allan Webber, 12 years ago

Owner: changed from Christopher Webber to Joar Wandborg
Status: FeedbackClosed
Made a few changes. You can now not have to provide the cache\_dir
to the command line, and instead of using /tmp/mediagoblin/ it'll
make a new temporary directory using the tempfile module.

Tried it locally... worked great! :) Merged and pushed.

Thanks so much Joar... this is an awesome and much needed feature!

comment:11 by Will Kahn-Greene, 11 years ago

The original url for this bug was .
#142: blocks, #55: blocks

Note: See TracTickets for help on using tickets.