私はすべてのgroovyファイル内でmongorestoreコマンドを実行できますか?
sql.execute(
alter database dbName
set offline with rollback immediate
drop database dbName
)
sql.execute(
RESTORE DATABASE dbName
FROM disk = 'C:\Backups'
WITH REPLACE
)
、私はすべての必要なパラメータを渡すと、以下のようsql.execute()
を走っデシベルをドロップし、既存のバックアップ(SQL)からデシベルを復元グルーヴィースクリプト
Sql sql = Sql.newInstance(dbSQLUrl, userName, password)
を持っています上記のコードは完全に正常に動作します。私はこれもMongoDBのために実装する必要があります。 Groovyファイルでmongorestore
のようなMongoコマンドを実行できるMongoにsql.execute()
と同等のものがありますか? Mongoのために
私は次のコードを持っている:
List credentials = []
List servers = []
credentials.push(MongoCredential.createCredential(mongoUserName, mongoDBName, mongoPassword as char[]))
servers.push(new ServerAddress(mongoHost, mongoPort))
GMongoClient mongoClient = new GMongoClient(servers,credentials)
DB mongoDB = mongoClient.getDB(mongoDBName)
mongoDB.dropDatabase()
は、今私は mongorestore ~/backups/first_backup/
、私のGroovyのファイル内に含ま/次のコマンドを実行する必要があることは、私はこれを達成することができる任意の方法はありますか?
以下のコードがあります。String command = "" "mongorestore $ dbBackUpPath" ""プロセスp = command.execute()、basckup dbは作成されませんが、mongorestore/home/backups/testというコマンドラインで以下のコードを実行するとうまく動作します。私はテストDBが復活しているのを見ます。 – Sharath
'p.waitFor()'を追加しましたか?そのコマンドが完了するのを待つ何らかの方法が必要です。デバッグするには、 'p = command.execute()'の後に 'println p.in.text + p.err.text'を追加して、' mongorestore'が何を出力しているのかを見てください。 –
私はパスが誤って/ home/backups/testの代わりに\ home \ backsups \ testをパスしていませんでした。今はうまくいく。 – Sharath