Skip to content

Instantly share code, notes, and snippets.

@artbikes
Forked from balos1/docker-mongodump
Created December 31, 2020 19:47
Show Gist options
  • Save artbikes/8a57cae50a4c9ab9c2dea0c8b8601629 to your computer and use it in GitHub Desktop.
Save artbikes/8a57cae50a4c9ab9c2dea0c8b8601629 to your computer and use it in GitHub Desktop.
Dumps a mongodb database from a docker data container / restores a mongodb database dump to a docker data container.
#!/bin/bash
# Run like so:
# docker-mongodump <mongo container name> <path to backups>
MONGO_CONTAINER=$1
BACKUPS_PATH=$2
DAY=`/bin/date +%Y%m%d`
PAST_DAY=`/bin/date -d '3 days ago' +%Y%m%d`
# make the backups and tar
cd $BACKUPS_PATH
docker exec $MONGO_CONTAINER mongodump --out /dump
docker cp $MONGO_CONTAINER:/dump ./
tar zcf $BACKUPS_PATH/dump.$DAY.tar.gz ./dump
# remove raw dump and backups older than 2 days
rm -rf ./dump
rm ./dump.$PAST_DAY.tar.gz
#!/bin/bash
# use like so
echo "docker-mongorestore <container> <path to dump on host> <dump destination in container> [--drop]"
MONGO_CONTAINER=$1
MONGO_DUMP_HOST_PATH=$2
MONGO_DUMP_PATH=$3
DROP=$4
docker cp $MONGO_DUMP_HOST_PATH $MONGO_CONTAINER:$MONGO_DUMP_PATH
docker exec $MONGO_CONTAINER mongorestore $MONGO_DUMP_PATH $DROP
docker exec $MONGO_CONTAINER rm -rf $MONGO_DUMP_PATH
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment