Create python script to backup a mongodb database and upload it to a cloud service
Thanh toán khi bàn giao
The goal of this project is to create a container that can backup our MongoDB database, and upload the file to the cloud service of our customer's choice. This container will be run as part of a daily cron job in Kubernetes to facilitate platform backups.
1 Python Script
1.1 Written in Python 3.7+
1.2 Use libraries for Azure, AWS, and gCloud, and mongodb
1.2.1 Azure Blob Storage
1.2.2 Google Cloud Storage Buckets
1.2.3 AWS S3 Blob Storage
1.3 Invoke mongodump as an external process to create or restore the dump file
1.4 All inputs shall be passed via environment variables
1.5 Dump file shall be stored locally before being updated.
1.6 Dump file shall be streamed from the disk to the cloud service, it cannot be read entirely into memory (as it can be large).
1.7 General flow for backup shall be as follows:
1.7.1 Connect to mongodb and find all collections over a specified size (for example 100MB), add these to a "history" list.
1.7.2 Create a mongodump excluding the collections from 1.7.1 as [login to view URL]
1.7.3 Create a mongodump of all collections as [login to view URL]
1.7.4 Connect to the specified cloud service
1.7.5 Stream the backup files and set their names to include YYYYMMDD-HHMM datestamp in the name, such as [login to view URL]
1.8 General flow for restore shall be as follows:
1.8.1 Connect to the specified cloud service
1.8.2 Download the specified backup file, if "latest-full" is specified, find the most recent full backup, and if "latest-config" find the most recent config backup and download it.
1.8.3 Invoke mongorestore to restore the downloaded file
1.9 Status and errors shall be logged to the console
1.10 Sample environment variables
MONGO_URI - the URI used to connect to the database
MONGO_DB - database name to backup
AZURE_CONNSTRING - connection string for Azure
AZURE_CONTAINER - container in Azure storage account to store backups
BACKUP_PREFIX - prefix to prepend on all backup files
RESTORENAME - filename to be restored
AWS/GCLOUD env variables TBD
ID dự án: #36689942
Về dự án
18 freelancer chào giá trung bình$176 cho công việc này
Got it. As a talented Python , MongoDB< Azure developer, I can build your script perfectly. Please contact me for our project. I will start immediately.