#1. Backup MongoDB Database (mongodump)
There are various options to take backups of mongodb database. Use mongodump command to take all databases backup or a single database backup of backup of single collection.
Backup Single Database
Use this command to take backup of a single database (named mydb) only. Backup will be created in /backup/db/ directory.
–db – database name to backup
–out – database backup location. This will create folder with database name.
–out – database backup location. This will create folder with database name.
You can specify host, port, username and password for remote databases connections backups like below.
Backup All Databases
To backup all databases you just need to run following command. Here /data/db/ is location of your mongodb data directory and /backup/db is location of backup directory.
You can specify host, port for remote databases.
Backup Single Collection
This command will take backup of single collection from a database. Backup file will be created in dump/mydb/ directory.
#2. Restore MongoDB Database with mongorestore
–drop – Will remove database if already exist.
You can simply move backup files to remote server and run the same command there to restore backups.
#3. MongoDB Backup Shell Script
You can easily schedule the below script in scheduler to backup databases regularly. Create a file as following
Add below content to file. Update database hostname, database name , username and password accordingly.
1
2
3
4
5
6
7
8
|
#!/bin/sh
TODAY=`date +%d%b%Y`
BACKUP_DIR=/backup/db
mkdir -p ${BACKUP_DIR}/${TODAY}
mongodump -h <DATABASE_HOST> -d <DATABASE_NAME> -u <USERNAME> -p <PASSWRD> --out ${BACKUP_DIR}/${TODAY}/
|
Now configure this in crontab to run daily.
No comments:
Post a Comment