Sign inSign up

exesse/mongodump-s3

By exesse

•Updated over 5 years ago

Backup utility for MongoDB. Compatible with Azure, Amazon Web Services and Google Cloud Platform.

Image
0

1.4K

exesse/mongodump-s3 repository overview

⁠mongo-dump

Codacy Badge DeepSource release Actions Status build Actions Status PyPI Version Docker Image Size

Backup utility for MongoDB. Compatible with Azure, Amazon Web Services and Google Cloud Platform.

⁠Installation

Make sure that original MongoDB Database Tools are installed. Please follow instruction on the official page⁠ for platform specific installation. Also make sure that mongodump command is in your PATH.

pip install mongodump-s3

⁠Usage

mongodump-s3 could be used as command line tool or as Docker service. There are also three possible ways to pass parameters to the utility:

  • Through setting environment variables
  • By passing env file to the tool
  • Or by passing individual flags

Please refer to sample.env example⁠ for all possible env options.

⁠Command line
$ mongodump-s3 --help
usage: mongodump-s3 <options>

Export the content of a running server into .bson files and uploads to provided S3 compatible storage. By default loads required settings from environment variables.

general options:
  -h, --help            print usage
  -v, --version         print the tool version and exit

output options:
  -b <S3 Bucket>, --bucket <S3 Bucket>
                        S3 bucket name for upload, defaults to 'mongodump'
  -o <folder>, --out <folder>
                        output directory, defaults to 'dump'

uri options:
  -u <uri>, --uri <uri>
                        mongodb uri connection string. See official description here https://docs.mongodb.com/manual/reference/connection-string

environmental options:
  -e <env-file>, --env <env-file>
                        path to file containing environmental variables

cloud storage options:
  --azure "<azure_storage_connection_string>"
                        connection string for storage account provided by Azure
  --aws "<aws_access_key_id=value> <aws_secret_access_key=value> <aws_region=value>"
                        AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION properties provided by Amazon Web Services IAM. AWS_REGION defaults to 'us-west-2' if not specified
  --gcp "<google_application_credentials=value> <google_region=value>"
                        path to service account file and optional Google Cloud Region. GOOGLE_REGION defaults to 'us-multiregion' if not specified

notification options:
  --email <[email protected]>
                        email address which to notify upon the result
  --smtp <mail-server.example.com>
                        SMTP relay server to use, defaults to 'localhost'
  --telegram "<telegram_token=value> <telegram_chat_id=value>"
                        Telegram API token and chat id to be used for notification. See more: https://core.telegram.org/bots/api
⁠Docker
sudo docker run --name mongo-dump [Optional: --env-file sample.env] exesse/mongodump-s3:latest [Optional: startup flags]

In case you need to pass GCP service account key please mount the key inside container and simply specify GOOGLE_APPLICATION_CREDENTIALS=/mongo-dump/key.json.

sudo docker run --name mongodump-gcp \
    --env-file sample.env \
    -v ~/dev.json:/mongodump/key.json:ro \
    exesse/mongodump-s3:latest 

⁠Feedback

Email bug reports, questions, discussions to [email protected]⁠.

Tag summary

Content type

Image

Digest

Size

99.2 MB

Last updated

over 5 years ago

docker pull exesse/mongodump-s3