Respostas:
Use 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
Para despejar seu banco de dados para backup, você chama este comando no seu terminal
mongodump --db database_name --collection collection_name
Para importar seu arquivo de backup para o mongodb, você pode usar o seguinte comando no seu terminal
mongorestore --db database_name path_to_bson_file
Você também pode usar gzip
para fazer backup de uma coleção e compactar o backup rapidamente:
mongodump --db somedb --collection somecollection --out - | gzip > collectiondump.gz
ou com uma data no nome do arquivo:
mongodump --db somedb --collection somecollection --out - | gzip > dump_`date "+%Y-%m-%d"`.gz
Atualização: faça
backup de todas as coleções de um banco de dados em uma pasta de data. Os arquivos estão com o gzip:
mongodump --db somedb --gzip --out /backups/`date +"%Y-%m-%d"`
Ou para um único arquivo:
mongodump --db somedb --gzip --archive > dump_`date "+%Y-%m-%d"`.gz
Ou quando o mongodb estiver sendo executado dentro da janela de encaixe:
docker exec <CONTAINER> sh -c 'exec mongodump --db somedb --gzip --archive' > dump_`date "+%Y-%m-%d"`.gz
mongodump
ou superior, você pode usar a --gzip
opção para fazer isso: mongodump_manpage e a mesma opção para mongorestore
Existe um utilitário chamado: mongodump Na linha de comando do mongo, você pode digitar:
>./mongodump
O exemplo acima criará um despejo de todos os bancos de dados no seu host local. Para fazer dump de uma única coleção, use:
./mongodump --db blog --collection posts
Dê uma olhada em: mongodump
Você precisa abrir o prompt de comando como administrador em uma pasta onde o Mongo está instalado (no meu caso: C: \ Arquivos de Programas \ MongoDB \ Server \ 3.4 \ bin). Se você deseja despejar todo o banco de dados, basta usar:
mongodump --db database_name
Você também tem a possibilidade de despejar apenas determinadas coleções ou despejar todas, exceto determinadas coleções.
Se você deseja despejar apenas uma coleção (por exemplo, usuários):
mongodump --db database_name --collection users
Se você deseja despejar todos, exceto a coleção de usuários:
mongodump --db database_name --excludeCollection=users
Também é possível enviar o dump para um arquivo morto:
mongodump --archive=test.archive --db database_name
Faça backup / restaure o Mongodb com tempo.
Cópia de segurança:
sudo mongodump --db db_name --out /path_of_your_backup/`date +"%m-%d-%y"`
--db
argumento para o nome do banco de dados
--out
argumento para o caminho da saída
Restaurar:
sudo mongorestore --db db_name --drop /path_of_your_backup/01-01-19/db_name/
--drop
argumento para eliminar o banco de dados antes da restauração
Cronometragem:
Você pode usar o crontab para cronometrar o backup:
sudo crontab -e
Abre com o editor (por exemplo, nano)
3 3 * * * mongodump --out /path_of_your_backup/`date +"%m-%d-%y"`
backup todos os dias às 03:03
Dependendo do tamanho do banco de dados do MongoDB, você poderá ficar sem espaço em disco em breve com muitos backups. É por isso que também é recomendável limpar regularmente os backups antigos ou compactá-los. Por exemplo, para excluir todos os backups anteriores a 7 dias, você pode usar o seguinte comando bash:
3 1 * * * find /path_of_your_backup/ -mtime +7 -exec rm -rf {} \;
exclua todos os backups com mais de 7 dias
Boa sorte.
Você pode despejar seu banco de dados e restaurar com o comando abaixo
mongodb -d <Your_db_name> -o <path of your folder>
por exemplo, o nome do meu banco de dados está rastreando tenho despejo na pasta despejo
mongodb -d tracking -o dump
Restaurando despejo
mongorestore -d <databasename> <dum_path>
mongorestore -d tracking dump/tracking
O comando a seguir se conecta ao servidor remoto para despejar um banco de dados:
<> parâmetros opcionais os usam se você precisar deles
saída para uma pasta criada com um 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 o seu banco de dados estiver no sistema local. Então você digita o comando abaixo. para terminal Linux
mongodump -h SERVER_NAME:PORT -d DATABASE_NAME
Se o usuário e a senha do banco de dados estiverem lá, você verá o código abaixo.
mongodump -h SERVER_NAME:PORT -d DATABASE_NAME -u DATABASE_USER -p PASSWORD
Isso funcionou muito bem no meu terminal Linux.
Abaixo o comando trabalhará para tirar o dump do mongo db.
mongodump -d -o
No Windows: tente este em que c: \ mongodump é o local do arquivo de despejo, ele criará metadados no json e o backup no formato bson
C: \ MongoDB \ bin> mongodump -d -oc: \ mongodump
Ou você pode criar um script de backup no Windows, lembre-se de adicionar o 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 despejar e restaurar com uri para local
mongodump --uri "mongodb: // USERNAME: PASSWORD @ IP_OR_URL: PORT / DB_NAME" - coleção COLLECTION_NAME -o LOCAL_URL
Se você não especificar --colletion COLLECTION_NAME, ele descartará o banco de dados inteiro.
faça o backup do mongodb para um banco de dados específico e exclua o backup de 7 dias usando o 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
use "caminho" para o Windows. Caso contrário, ele fornece o erro como: argumentos posicionais não permitidos
mongodump -h hostname -u dbusername -p dbpassword --db dbname --port portnumber --out / path / folder
mongodump -h hostname -u dbusername -p dbpassword --db dbname --port portnumber --out /path/folder.gz
mongodump
sem bandeiras e você começa despejo pasta