Reputation: 1181
Hello I have a simple script that dumps a mongo db using a shell command from a remote mongo server, and then runs a shell command to restore that db to the dev db on another server.
the script lives in /home/ubuntu/mongo and the dump is in /home/ubuntu/mongo/dump
here is my code:
import time
import subprocess
import os
import shutil
now=int(time.time())
cmd="mongodump --host -db chronotrack"
print subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True)
cmd="mongorestore --host -db chronotrack dump/"
print subprocess.check_output(cmd,stderr=subprocess.STDOUT,shell=True)
#mongorestore --host --port 3017 --db mongodevdb --username mongodevdb --password YourSecretPwd --drop /backup/dump
Here is my error:
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
Upvotes: 4
Views: 12215
Reputation: 1181
Found the answer :
"mongorestore --host -db chronotrack --drop dump/chronotrack"
Upvotes: 2