Skip to main content

Python MongoDB Backup & Restore

Python Library to Backup and Restore MongoDB

GitHub Repo: https://github.com/sannjayy/py-mongo-backup-restore

Installaion

Do the following in your virtualenv:

pip install py-mongo-backup-restore

Import:

from py_mongo_backup_restore import PyMongoBackupRestore

Configuration:

from py_mongo_backup_restore import PyMongoBackupRestore

# Database Configuration:
config = {
    'scheme': 'mongodb',
    'host': '37.108.158.64:27017',
    'username': 'username',
    'password': 'password',
    'extra_options': '?authSource=admin', # Optional
    'database_name': 'test', # Optional
}

# (OR) Connection with URI
config = {
    'connection_string': 'mongodb+srv://username:password@host.gp2xb.mongodb.net/database?retryWrites=true&w=majority'
}

# Creating Instance
mongo_handler = PyMongoBackupRestore(**config)
print('URI -> ', mongo_handler.get_uri()) # Returns the Mongo Host Uri

To check if mongodump and mongorestore commands are working

This script checks the version of mongodump and mongorestore commands using the --version flag. If the commands are working, it prints a success message; otherwise, it prints an error message.

PyMongoBackupRestore(**config).check_mongodump_mongorestore()

Backup Database:

# Backup Full Database
mongo_handler.backup(
    database_name = "DATABASE_NAME",  # Optional if a database_name is provided in the config.
    backup_folder = "BACKUP_FOLDER", 
    compression="gzip" # (Optional)
)

# (OR) Backup a Collection
mongo_handler.backup(
    database_name = "DATABASE_NAME", # Optional if a database_name is provided in the config.
    collection_name = "COLLECTION_NAME", 
    backup_folder = "BACKUP_FOLDER", 
    compression="gzip" # (Optional)
)

Restore Database:

# Restore Full Database
mongo_handler.restore(
    database_name = "DATABASE_NAME", # Target Database Name
    backup_folder = "BACKUP_FOLDER/BACKUP_NAME", 
)

# (OR) Restore a Collection
mongo_handler.restore_collection(
    database_name = "DATABASE_NAME", # Target Database Name
    collection_source = "BACKUP_FOLDER/BACKUP_NAME/file.bson", 
    collection_name = "COLLECTION_NAME", 
)



Developed by Sanjay Sikdar.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py_mongo_backup_restore-2.1.0.tar.gz (4.5 kB view details)

Uploaded Source

File details

Details for the file py_mongo_backup_restore-2.1.0.tar.gz.

File metadata

  • Download URL: py_mongo_backup_restore-2.1.0.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.12.2

File hashes

Hashes for py_mongo_backup_restore-2.1.0.tar.gz
Algorithm Hash digest
SHA256 8bd69df91c01215d62fb7046b41baddf011ccfcf69f7f1cc28df860f6231d568
MD5 bcc78d13b744efddb08c9189c60f9c4e
BLAKE2b-256 5f7a608aa4c7016171428bc11bbd6d2f652c7b3853ada8748e342b9cbdd78a7b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.1.0 This release

1 file

2.0.0

1 file

1.0.0

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page