如何备份和恢复Mongodb数据库

mar*_*arx 4 c# backup restore mongodb

如何使用C#备份和恢复Mongodb数据库?目前只有一个服务器来保存mongodb数据,我想在服务器被销毁的情况下进行备份,以便我可以恢复它.

任何人都知道如何使用C#做到这一点?

Amp*_*mpT 7

来自mongolab网站(http://docs.mongolab.com/backups/)一个有用/简单的例子:

备份使用mongodump:

% mongodump -h ds012345.mongolab.com:56789 -d dbname -u dbuser -p dbpassword -o dumpdir
Run Code Online (Sandbox Code Playgroud)

恢复使用mongorestore:

% mongorestore -h ds023456.mongolab.com:45678 -d dbname -u dbuser -p dbpassword dumpdir/*
Run Code Online (Sandbox Code Playgroud)


Pra*_*eri 4

如果您只想自动备份,有一种比诉诸成熟的编程语言更简单的方法:

http://docs.mongodb.org/manual/tutorial/backup-databases-with-filesystem-snapshots/

如链接所示,以下命令就足够了。您可以将其放入启动脚本/守护进程中以定期执行:

备份:

lvcreate --size 100M --snapshot --name mdb-snap01 /dev/vg0/mongodb
Run Code Online (Sandbox Code Playgroud)

恢复:

lvcreate --size 1G --name mdb-new vg0
gzip -d -c mdb-snap01.gz | dd of=/dev/vg0/mdb-new
mount /dev/vg0/mdb-new /srv/mongodb
Run Code Online (Sandbox Code Playgroud)