Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sannjayy/py-mongo-backup-restore
Python MongoDB Backup & Restore
https://github.com/sannjayy/py-mongo-backup-restore
pypi-package
Last synced: 30 days ago
JSON representation
Python MongoDB Backup & Restore
- Host: GitHub
- URL: https://github.com/sannjayy/py-mongo-backup-restore
- Owner: sannjayy
- License: mit
- Created: 2024-02-28T13:27:48.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2024-03-05T16:43:40.000Z (10 months ago)
- Last Synced: 2024-11-13T08:47:26.679Z (about 2 months ago)
- Topics: pypi-package
- Language: Python
- Homepage: https://pypi.org/project/py-mongo-backup-restore/
- Size: 5.86 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.txt
- License: LICENSE
Awesome Lists containing this project
README
## Python MongoDB Backup & Restore
Python Library to Backup and Restore MongoDBGitHub Repo: [https://github.com/sannjayy/py-mongo-backup-restore](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:
```python
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:[email protected]/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.
```python
PyMongoBackupRestore(**config).check_mongodump_mongorestore()
```---
### Backup Database:
```python
# 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:
```python
# 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",
)
```---
---
[![](https://img.shields.io/github/followers/sannjayy?style=social)](https://github.com/sannjayy)
Developed by *Sanjay Sikdar*.
- 📫 [email protected]