Risposte:
Utilizzare 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
Fonte: http://www.mongodb.org/display/DOCS/Import+Export+Tools
Per scaricare il database per il backup, chiamare questo comando sul terminale
mongodump --db database_name --collection collection_name
Per importare il tuo file di backup su mongodb puoi usare il seguente comando sul tuo terminale
mongorestore --db database_name path_to_bson_file
È inoltre possibile utilizzare gzip
per eseguire il backup di una raccolta e comprimere il backup al volo:
mongodump --db somedb --collection somecollection --out - | gzip > collectiondump.gz
o con una data nel nome del file:
mongodump --db somedb --collection somecollection --out - | gzip > dump_`date "+%Y-%m-%d"`.gz
Aggiornamento:
esegue il backup di tutte le raccolte di un database in una cartella della data. I file sono compressi con gzip:
mongodump --db somedb --gzip --out /backups/`date +"%Y-%m-%d"`
O per un singolo archivio:
mongodump --db somedb --gzip --archive > dump_`date "+%Y-%m-%d"`.gz
O quando mongodb è in esecuzione nella finestra mobile:
docker exec <CONTAINER> sh -c 'exec mongodump --db somedb --gzip --archive' > dump_`date "+%Y-%m-%d"`.gz
mongodump
o successiva è possibile utilizzare l' --gzip
opzione per farlo: mongodump_manpage e la stessa opzione per mongorestore
Esiste un'utilità chiamata: mongodump Nella riga di comando di mongo è possibile digitare:
>./mongodump
Quanto sopra creerà un dump di tutti i database sul tuo localhost. Per eseguire il dump di una singola raccolta utilizzare:
./mongodump --db blog --collection posts
È necessario aprire il prompt dei comandi come amministratore in una cartella in cui è installato Mongo (nel mio caso: C: \ Programmi \ MongoDB \ Server \ 3.4 \ bin). Se vuoi scaricare l'intero database, puoi semplicemente usare:
mongodump --db database_name
Hai anche la possibilità di scaricare solo determinate raccolte o di scaricare tutte le raccolte tranne alcune.
Se si desidera eseguire il dump di una sola raccolta (ad esempio utenti):
mongodump --db database_name --collection users
Se desideri scaricare tutti tranne la raccolta utenti:
mongodump --db database_name --excludeCollection=users
È anche possibile eseguire l'output del dump in un file di archivio:
mongodump --archive=test.archive --db database_name
Mongodb di backup / ripristino con tempistica.
Backup:
sudo mongodump --db db_name --out /path_of_your_backup/`date +"%m-%d-%y"`
--db
argomento per il nome del database
--out
argomento per il percorso di output
Ristabilire:
sudo mongorestore --db db_name --drop /path_of_your_backup/01-01-19/db_name/
--drop
argomento per drop databse prima del ripristino
Timing:
È possibile utilizzare crontab per il backup dei tempi:
sudo crontab -e
Si apre con l'editor (ad es. Nano)
3 3 * * * mongodump --out /path_of_your_backup/`date +"%m-%d-%y"`
eseguire il backup ogni giorno alle 03:03
A seconda delle dimensioni del database MongoDB, si potrebbe presto esaurire lo spazio su disco con troppi backup. Ecco perché si consiglia anche di pulire regolarmente i vecchi backup o di comprimerli. Ad esempio, per eliminare tutti i backup più vecchi di 7 giorni è possibile utilizzare il seguente comando bash:
3 1 * * * find /path_of_your_backup/ -mtime +7 -exec rm -rf {} \;
elimina tutti i backup più vecchi di 7 giorni
In bocca al lupo.
È possibile scaricare il database e ripristinarlo con il seguente comando
mongodb -d <Your_db_name> -o <path of your folder>
ad esempio il mio nome di database sta monitorando ho il dump nella cartella dump
mongodb -d tracking -o dump
Ripristino della discarica
mongorestore -d <databasename> <dum_path>
mongorestore -d tracking dump/tracking
Il comando seguente si connette al server remoto per scaricare un database:
<> parametri opzionali li usano se ne hai bisogno
output in una cartella creata con un nome
mongodump --host --port --username --db --ssl --password --out _date + "% Y-% m-% d"
cmd ->
C:\Program Files\MongoDB\Server\3.2\bin>mongodump.exe --db Dintest
Se il tuo database nel sistema locale. Quindi digitare il comando seguente. per terminale Linux
mongodump -h SERVER_NAME:PORT -d DATABASE_NAME
Se l'utente del database e la password ci sono, allora sotto il codice.
mongodump -h SERVER_NAME:PORT -d DATABASE_NAME -u DATABASE_USER -p PASSWORD
Questo ha funzionato molto bene nel mio terminale Linux.
Il comando seguente funzionerà per eseguire il dump di mongo db.
mongodump -d -o
Su Windows: prova questo dove c: \ mongodump è il percorso del file di dump, creerà metadati in json e eseguirà il backup in formato bson
C: \ MongoDB \ bin> mongodump -d -oc: \ mongodump
Oppure puoi creare script di backup su Windows, ricorda di aggiungere Winrar a% PATH%
bin\mongodump --db=COL1 -o D:\BACK\COL1
rar.exe a -ep1 -r COL1.rar COL1
rename COL1.rar "COL1_%date:~10,4%_%date:~7,2%_%date:~4,2%_%time:~0,2%_%time:~3,2%.rar"
#rmdir /s /q COL1 -> don;t run this on your mongodb/ dir !!!!!
Mongo scarica e ripristina con uri a local
mongodump --uri "mongodb: // USERNAME: PASSWORD @ IP_OR_URL: PORT / DB_NAME" --collection COLLECTION_NAME -o LOCAL_URL
Se non specifichi --colletion COLLECTION_NAME, verrà scaricato l'intero DB.
prendere il backup mongodb per un determinato db ed eliminare il backup di 7 giorni usando il comando bin sh: -
#!/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
usa "percorso" per windows. Altrimenti fornisce l'errore come: argomenti posizionali non consentiti
mongodump -h hostname -u dbusername -p dbpassword --db dbname --port portnumber --out / percorso / cartella
mongodump -h hostname -u dbusername -p dbpassword --db dbname --port portnumber --out /path/folder.gz
mongodump
senza bandiere e ottieni la cartella di dump