备份使用mup部署的mongoDB的最简单方法是什么?

Jer*_*tin 2 mongodb meteor

我使用mup deployhttps://github.com/arunoda/meteor-up"setupMongo": true在mup.json文件中的选项将我的应用程序部署在Ubuntu服务器上。

一切工作正常,我想每天将mongoDB数据库保存到FTP或S3,或将mongoDB副本设置到另一台服务器(以避免每次都复制整个数据库,但看起来更复杂)。

Abh*_*rya 5

如果与Mup一起部署,那么您很幸运。您可以在这里找到步骤:https : //github.com/xpressabhi/mup-data-backup

再次执行以下步骤:

通过Mup部署MongoDB数据备份

仅当使用mup工具部署流星时,这些命令才能正常运行。Mup为mongodb创建docker,因此使用这些命令进行备份变得容易。

后备

从docker备份正在运行的应用程序数据,然后从docker复制到本地文件夹。

docker exec -it mongodb mongodump --archive=/root/mongodump.gz --gzip 
docker cp mongodb:/root/mongodump.gz mongodump_$(date +%Y-%m-%d_%H-%M-%S).gz
Run Code Online (Sandbox Code Playgroud)

将备份复制到服务器

将数据移动到另一台服务器/本地计算机或备份位置

scp /path/to/dumpfile root@serverip:/path/to/backup
Run Code Online (Sandbox Code Playgroud)

从流星部署中删除旧数据

进入在docker中运行的mongo控制台,然后在获取新数据之前删除当前数据库。

docker exec -it mongodb mongo appName
db.runCommand( { dropDatabase: 1 } )
Run Code Online (Sandbox Code Playgroud)

将数据还原到流星泊坞窗

docker cp /path/to/dumpfile mongodb:/root/mongodump.gz
docker exec -it mongodb mongorestore --archive=/root/mongodump.gz --gzip
Run Code Online (Sandbox Code Playgroud)