Skip to main content

Python Library to Backup and Restore MongoDB

Project description

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.

Project details


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

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.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page