我应该使用什么命令来创建我的数据库的MongoDB转储?
当前回答
对特定db进行mongodb备份,使用bin sh命令删除7天前的备份
#!/bin/bash
MONGO_DATABASE="nexgtv_16"
APP_NAME="test"
MONGO_HOST="127.0.0.1"
MONGO_PORT="27017"
TIMESTAMP=`date +%F-%H%M`
MONGODUMP_PATH="/usr/bin/mongodump"
BACKUPS_DIR="/home/mongodbbackups/backups/$APP_NAME"
BACKUP_NAME="$APP_NAME-$TIMESTAMP"
$MONGODUMP_PATH -d $MONGO_DATABASE
mkdir -p $BACKUPS_DIR
mv dump $BACKUP_NAME
tar -zcvf $BACKUPS_DIR/$BACKUP_NAME.tgz $BACKUP_NAME
rm -rf $BACKUP_NAME
find /home/mongodbbackups/backups/test/ -mindepth 1 -mtime +7 -delete
其他回答
使用mongodump:
$ ./mongodump --host prod.example.com
connected to: prod.example.com
all dbs
DATABASE: log to dump/log
log.errors to dump/log/errors.bson
713 objects
log.analytics to dump/log/analytics.bson
234810 objects
DATABASE: blog to dump/blog
blog.posts to dump/log/blog.posts.bson
59 objects
DATABASE: admin to dump/admin
来源:http://www.mongodb.org/display/DOCS/Import +出口+工具
在Windows中使用“path”,否则会给出错误:位置参数不允许
您可以转储数据库并使用bellow命令进行恢复
mongodb -d <Your_db_name> -o <path of your folder>
例如,我的数据库名称是跟踪,我有转储在转储文件夹
mongodb -d tracking -o dump
恢复转储
mongorestore -d <databasename> <dum_path>
mongorestore -d tracking dump/tracking
有一个实用程序叫做:mongodb 在mongo命令行中,你可以输入:
>./mongodump
上面的操作将创建本地主机上所有数据库的转储。要转储单个集合,使用:
./mongodump --db blog --collection posts
看看:mongodb
编辑:根据MongoDB v4.4.2最新版本更新的命令
出口
mongodump -d <database name> -o <backup-folder>
进口
mongorestore -d <database name> --dir <backup-folder>
推荐文章
- elasticsearch vs . MongoDB用于过滤应用程序
- 获得PostgreSQL数据库中当前连接数的正确查询
- MySQL数据库表中的最大记录数
- 从现有模式生成表关系图(SQL Server)
- MongoDB记录所有查询
- HyperLogLog算法是如何工作的?
- 数据库和模式的区别
- 如何从命令行在windows中找到mysql数据目录
- 如何找到MySQL的根密码
- MongoDB:如何找到安装的MongoDB的确切版本
- 将表从一个数据库复制到另一个数据库的最简单方法?
- 如何使用mongoimport导入CSV文件?
- 什么是分片,为什么它很重要?
- 在mongodb中存储日期/时间的最佳方法
- 数据库触发器是必要的吗?