使用python转储和恢复mongo db
您好,我有一个简单的脚本,它使用shell命令从远程mongo服务器转储mongo db,然后运行shell命令将该db恢复到另一台服务器上的dev db 脚本位于/home/ubuntu/mongo中,转储位于/home/ubuntu/mongo/dump中 这是我的密码: !/usr/bin/python 这是我的错误:使用python转储和恢复mongo db,python,linux,mongodb,shell,Python,Linux,Mongodb,Shell,您好,我有一个简单的脚本,它使用shell命令从远程mongo服务器转储mongo db,然后运行shell命令将该db恢复到另一台服务器上的dev db 脚本位于/home/ubuntu/mongo中,转储位于/home/ubuntu/mongo/dump中 这是我的密码: !/usr/bin/python 这是我的错误: ERROR: root directory must be a dump of a single database when specifying a db
ERROR: root directory must be a dump of a single database
when specifying a db name with --db
usage: mongorestore [options] [directory or filename to restore from]
options:
--help produce help message
-v [ --verbose ] be more verbose (include multiple times for more
verbosity e.g. -vvvvv)
--version print the program's version and exit
-h [ --host ] arg mongo host to connect to ( <set name>/s1,s2 for sets)
--port arg server port. Can also use --host hostname:port
--ipv6 enable IPv6 support (disabled by default)
-u [ --username ] arg username
-p [ --password ] arg password
--dbpath arg directly access mongod database files in the given
path, instead of connecting to a mongod server -
needs to lock the data directory, so cannot be used
if a mongod is currently accessing the same path
--directoryperdb if dbpath specified, each db is in a separate
directory
--journal enable journaling
-d [ --db ] arg database to use
-c [ --collection ] arg collection to use (some commands)
--objcheck validate object before inserting
--filter arg filter to apply before inserting
--drop drop each collection before import
--oplogReplay replay oplog for point-in-time restore
--keepIndexVersion don't upgrade indexes to newest version
错误:根目录必须是单个数据库的转储
使用--db指定数据库名称时
用法:mongorestore[选项][要从中还原的目录或文件名]
选项:
--帮助生成帮助消息
-v[--verbose]更详细(包括多次以获取更多信息)
冗长(例如-VVV)
--版本打印程序的版本并退出
-要连接到的h[--host]arg mongo主机(/s1,s2表示集合)
--端口arg服务器端口。还可以使用--host hostname:port
--ipv6启用ipv6支持(默认情况下禁用)
-u[--用户名]参数用户名
-p[--密码]参数密码
--dbpath arg直接访问给定数据库中的mongod数据库文件
路径,而不是连接到mongod服务器-
需要锁定数据目录,因此无法使用
如果mongod当前正在访问同一路径
--directoryperdb如果指定了dbpath,则每个数据库都位于单独的数据库中
目录
--日志启用日志记录
-要使用的d[--db]arg数据库
-c[--collection]要使用的参数集合(某些命令)
--objcheck在插入前验证对象
--筛选器arg插入前要应用的筛选器
--导入前删除每个集合
--oplog replay replay用于时间点恢复的oplog
--keepIndexVersion不将索引升级到最新版本
找到了答案:
"mongorestore --host -db chronotrack --drop dump/chronotrack"
顺便说一句,我删除主机名的原因很明显。不需要澄清主机名。我们都明白!:)为了未来用户的利益,请解释答案。我假设在最初的post op中,在“-drop dump/”部分中遗漏了转储的名称(即“chronotrack”),并尝试只指定转储目标,而不是转储文件本身。
"mongorestore --host -db chronotrack --drop dump/chronotrack"