Skip to content

zhangliyong/mongodb-backup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mongodb-backup

Backup mongodb data by copy dbpath

Downloads

Install

$ pip install mongodb-backup

Test

Start a mongod instance on port 27017.

Run py.test test.py.

Usage

$ mongodbbackup --help

Make sure which mongod instance you want to backup, and run mongodbbackup on that server.

Example

  • Backup a standalone mongod instance.

    $ mongodbbackup -p <port> --primary-ok <backup_dir>

    Caution: it will block all writes.

  • Backup a replication, run the follow command on a secondary server.

    $ mongodbbackup -p <secondary_port> <backup_dir>
  • Backup a cluster, backup a config server and each shard. If you have two shards, you need to run the follow command three times.

    $ mongodbbackup --ms-url <mongos_url> -p <port> <backup_dir>

Under The Hood

This tool backup mongodb by copying dbpath, so it must run on the same machine with the mongod instance.

  1. Fsync the mongod instance to block all writes.
  2. Copy the dbpath.
  3. Unlock the mongod instance to accept writes.

If you want to backup a mongodb cluster, you should specify --ms-url option. It will stop balancer before backup, and restart balancer after backup.

Caution: This tool doesn't make a point-in-time backup, it just copy the data directory, you can copy back the data to restore if any disaster happens.

About

Backup mongodb data by copying dbpath

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages