Potresti usare uno script di shell per farlo usando gli strumenti mongodump
e mongorestore
.
Quello che faccio per questo stesso scenario è usare l'opzione --eval
da mongo-cli per eliminare il database, fare un dump del database di produzione e poi ripristinare il database di sviluppo.
- ssh user @ host 'mongodump --host dbhost --port dbport --db dbproduction; cd dump; zip dump.zip dbproduction / *; '
- scp user @ host: dump / dump.zip /desiredPath/dump.zip;
- mongo --eval 'new Mongo (). getDB ("dbdevelopment"); db.dropDatabase (); '
- decomprimere dump.zip -d dump; cd dump /;
- mongorestore --db dbdevelopment dbproduction;
Questo dovrà essere eseguito dal server del database di sviluppo con accesso al server dei database di produzione e farà esattamente ciò che è necessario per: eseguire il dump e zip del database di produzione, scaricarlo, rilasciare il database di sviluppo, decomprimere il file scaricato e ripristina.