Как создать дамп MongoDB для моей базы данных?

Какую команду я использую и запускаю?

21 ответ

Решение

Использование 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

Источник: http://www.mongodb.org/display/DOCS/Import+Export+Tools

Чтобы сбросить базу данных для резервного копирования, вы вызываете эту команду на своем терминале

mongodump --db database_name --collection collection_name

Чтобы импортировать файл резервной копии в mongodb, вы можете использовать следующую команду на своем терминале

mongorestore --db database_name path_to_bson_file

Вы также можете использовать gzip для резервного копирования одной коллекции и сжатия резервной копии на лету:

mongodump --db somedb --collection somecollection --out - | gzip > collectiondump.gz

или с датой в имени файла:

mongodump --db somedb --collection somecollection --out - | gzip > dump_`date "+%Y-%m-%d"`.gz

Эта команда создаст дамп данной базы данных в формате json и bson.

mongodump -d <database name> -o <target directory>

Экспортировать

mongodump -d <database name> <backup-folder>

импортировать

mongorestore -d <database name> <backup-folder>

Резервное копирование / восстановление Mongodb с учетом времени.

Резервное копирование:

sudo mongodump --db db_name --out /path_of_your_backup/`date +"%m-%d-%y"`

--db аргумент для имени базы данных

--out аргумент для пути вывода

Восстановить:

sudo mongorestore --db db_name --drop /path_of_your_backup/01-01-19/db_name/

--drop аргумент для удаления базы данных перед восстановлением

Сроки:

Вы можете использовать crontab для резервного копирования по времени:

sudo crontab -e

Открывается в редакторе (например, нано)

3 3 * * * mongodump --out /path_of_your_backup/`date +"%m-%d-%y"`

резервное копирование каждый день в 03:03

В зависимости от размера базы данных MongoDB у вас может скоро закончиться нехватка дискового пространства с большим количеством резервных копий. Вот почему также рекомендуется регулярно чистить старые резервные копии или сжимать их. Например, чтобы удалить все резервные копии старше 7 дней, вы можете использовать следующую команду bash:

3 1 * * * find /path_of_your_backup/ -mtime +7 -exec rm -rf {} \;

удалить все резервные копии старше 7 дней

Удачи.

ссылка: https://www.digitalocean.com/community/tutorials/how-to-back-up-restore-and-migrate-a-mongodb-database-on-ubuntu-14-04

Вам нужно открыть командную строку от имени администратора в папке, где установлен ваш Mongo (в моем случае: C:\Program Files\MongoDB\Server\3.4\bin). Если вы хотите сбросить всю базу данных, вы можете просто использовать:

mongodump --db database_name

У вас также есть возможность сбросить только определенную коллекцию (и) или сбросить все, кроме определенной (их) коллекции.

Если вы хотите сбросить только одну коллекцию (например, пользователей):

mongodump  --db database_name --collection users

Если вы хотите сбросить все, кроме коллекции пользователей:

mongodump  --db database_name --excludeCollection=users

Также можно вывести дамп в файл архива:

mongodump --archive=test.archive --db database_name

Существует утилита под названием: mongodump. В командной строке mongo вы можете ввести:

>./mongodump

Выше создаст дамп всех баз данных на вашем локальном хосте. Для создания дампа из одной коллекции используйте:

./mongodump --db blog --collection posts

Посмотрите на: mongodump

Если ваша база данных в локальной системе. Затем вы вводите следующую команду. для терминала Linux

mongodump -h SERVER_NAME:PORT -d DATABASE_NAME

Если пользователь базы данных и пароль там, то вы ниже кода.

mongodump -h SERVER_NAME:PORT -d DATABASE_NAME -u DATABASE_USER -p PASSWORD

Это очень хорошо работало в моем Linux-терминале.

Вы можете сбросить базу данных и восстановить ее с помощью следующей команды

mongodb  -d <Your_db_name> -o <path of your folder>

например, моя база данных отслеживает, у меня есть дамп в папке дампа

mongodb  -d tracking -o dump

Восстановление дампа

mongorestore -d <databasename> <dum_path>

mongorestore -d tracking  dump/tracking

Следующая команда подключиться к удаленному серверу для выгрузки базы данных:

<> необязательные параметры используют их, если они вам нужны

  • host - порт имени хоста
  • имя пользователя прослушивающего порта
  • имя пользователя db db
  • дб имя ссл
  • безопасное соединение
  • вывод в созданную папку с именем

    mongodump --host --port --username --db --ssl --password --out _date+"%Y-%m-%d"

Монго сбросить и восстановить с помощью URI на локальный

mongodump --uri "mongodb:// ИМЯ ПОЛЬЗОВАТЕЛЯ: ПАРОЛЬ @IP_OR_URL:PORT/DB_NAME" - коллекция COLLECTION_NAME -o LOCAL_URL

Если вы не укажете --colletion COLLECTION_NAME, он сбросит всю БД.

cmd ->

C: \ Program Files \ MongoDB \ Server \ 3.2 \ bin> mongodump.exe --db Dintest

Ниже команда будет работать, чтобы взять дамп Монго БД.

mongodump -d -o

В Windows: попробуйте этот файл, где c:\mongodump - это расположение файла дампа. Он создаст метаданные в формате json и создаст резервную копию в формате bson.

C:\MongoDB\bin>mongodump -d -o c:\mongodump

Используйте "путь" для окон. В противном случае он дает ошибку как: позиционные аргументы не разрешены

Или вы можете сделать скрипт резервного копирования в Windows, не забудьте добавить Winrar в%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 !!!!!
take mongodb backup for particular db and delete 7 days old backup using bin        sh command :-

#!/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 -v to see progress of backup data
    mongodump -v --db dbname --out /pathforbackup/NewFolderforBackupData

 you can use it for restore also
    mongorestore -v --db dbname --drop /pathforbackup/NewFolderforBackupData/dbname

with multile v like -vvvv you will get more information

Создайте дамп Mongo из локальной системы:

Свалка:

      C:\Program Files\MongoDB\Server\4.0\bin>mongodump -d ecom -o D:\per\test\dump
2021-11-23T22:44:23.483+0530    writing ecom.words to
2021-11-23T22:44:23.485+0530    writing ecom.wishlists to
2021-11-23T22:44:23.487+0530    writing ecom.carts to
2021-11-23T22:44:23.488+0530    writing ecom.products to
2021-11-23T22:44:23.602+0530    done dumping ecom.words (23 documents)
2021-11-23T22:44:23.602+0530    writing ecom.orders to
2021-11-23T22:44:23.634+0530    done dumping ecom.wishlists (15 documents)
2021-11-23T22:44:23.635+0530    writing ecom.reviews to
2021-11-23T22:44:23.730+0530    done dumping ecom.orders (11 documents)
2021-11-23T22:44:23.730+0530    writing ecom.categories to
2021-11-23T22:44:23.751+0530    done dumping ecom.reviews (7 documents)
2021-11-23T22:44:23.751+0530    writing ecom.users to
2021-11-23T22:44:23.778+0530    done dumping ecom.users (4 documents)
2021-11-23T22:44:23.779+0530    writing ecom.addresses to
2021-11-23T22:44:23.806+0530    done dumping ecom.categories (4 documents)
2021-11-23T22:44:23.806+0530    writing ecom.brands to
2021-11-23T22:44:23.884+0530    done dumping ecom.addresses (2 documents)
2021-11-23T22:44:23.884+0530    writing ecom.merchants to
2021-11-23T22:44:23.914+0530    done dumping ecom.brands (2 documents)
2021-11-23T22:44:24.057+0530    done dumping ecom.merchants (1 document)
2021-11-23T22:44:25.568+0530    done dumping ecom.carts (12 documents)
2021-11-23T22:44:25.589+0530    done dumping ecom.products (16 documents)

Восстановить в Cloud Atlas:

      Karthikeyan.Anbalaga@KAAN-BLR-02 MINGW64 /d/per/test
$ '/c/Program Files/MongoDB/Server/4.0/bin/mongorestore' --uri mongodb+srv://admin:password@cluster99.11rjt.mongodb.net/mern-store-80201
2021-11-23T23:32:59.871+0530    using default 'dump' directory
2021-11-23T23:32:59.873+0530    preparing collections to restore from
2021-11-23T23:33:00.033+0530    reading metadata for MERN-STORE-80201.carts from dump\MERN-STORE-80201\carts.metadata.json
2021-11-23T23:33:00.033+0530    reading metadata for MERN-STORE-80201.products from dump\MERN-STORE-80201\products.metadata.json
2021-11-23T23:33:00.033+0530    reading metadata for MERN-STORE-80201.wishlists from dump\MERN-STORE-80201\wishlists.metadata.json
2021-11-23T23:33:00.033+0530    reading metadata for MERN-STORE-80201.words from dump\MERN-STORE-80201\words.metadata.json
2021-11-23T23:33:00.033+0530    restoring MERN-STORE-80201.products from dump\MERN-STORE-80201\products.bson
2021-11-23T23:33:00.188+0530    restoring MERN-STORE-80201.carts from dump\MERN-STORE-80201\carts.bson
2021-11-23T23:33:00.252+0530    restoring MERN-STORE-80201.wishlists from dump\MERN-STORE-80201\wishlists.bson
2021-11-23T23:33:00.274+0530    restoring indexes for collection MERN-STORE-80201.products from metadata
2021-11-23T23:33:00.335+0530    no indexes to restore
2021-11-23T23:33:00.335+0530    finished restoring MERN-STORE-80201.carts (12 documents)
2021-11-23T23:33:00.335+0530    reading metadata for MERN-STORE-80201.reviews from dump\MERN-STORE-80201\reviews.metadata.json
2021-11-23T23:33:00.386+0530    restoring MERN-STORE-80201.words from dump\MERN-STORE-80201\words.bson
2021-11-23T23:33:00.398+0530    no indexes to restore
2021-11-23T23:33:00.398+0530    finished restoring MERN-STORE-80201.wishlists (15 documents)
2021-11-23T23:33:00.398+0530    reading metadata for MERN-STORE-80201.users from dump\MERN-STORE-80201\users.metadata.json
2021-11-23T23:33:00.398+0530    restoring MERN-STORE-80201.users from dump\MERN-STORE-80201\users.bson
2021-11-23T23:33:00.422+0530    finished restoring MERN-STORE-80201.products (16 documents)
2021-11-23T23:33:00.423+0530    reading metadata for MERN-STORE-80201.orders from dump\MERN-STORE-80201\orders.metadata.json
2021-11-23T23:33:00.488+0530    restoring MERN-STORE-80201.reviews from dump\MERN-STORE-80201\reviews.bson
2021-11-23T23:33:00.536+0530    restoring indexes for collection MERN-STORE-80201.users from metadata
2021-11-23T23:33:00.570+0530    restoring MERN-STORE-80201.orders from dump\MERN-STORE-80201\orders.bson
2021-11-23T23:33:00.586+0530    no indexes to restore
2021-11-23T23:33:00.586+0530    finished restoring MERN-STORE-80201.words (23 documents)
2021-11-23T23:33:00.586+0530    reading metadata for MERN-STORE-80201.categories from dump\MERN-STORE-80201\categories.metadata.json
2021-11-23T23:33:00.587+0530    restoring MERN-STORE-80201.categories from dump\MERN-STORE-80201\categories.bson
2021-11-23T23:33:00.633+0530    no indexes to restore
2021-11-23T23:33:00.633+0530    finished restoring MERN-STORE-80201.reviews (7 documents)
2021-11-23T23:33:00.633+0530    reading metadata for MERN-STORE-80201.addresses from dump\MERN-STORE-80201\addresses.metadata.json
2021-11-23T23:33:00.719+0530    no indexes to restore
2021-11-23T23:33:00.719+0530    finished restoring MERN-STORE-80201.orders (11 documents)
2021-11-23T23:33:00.719+0530    reading metadata for MERN-STORE-80201.brands from dump\MERN-STORE-80201\brands.metadata.json
2021-11-23T23:33:00.719+0530    restoring MERN-STORE-80201.brands from dump\MERN-STORE-80201\brands.bson
2021-11-23T23:33:00.733+0530    finished restoring MERN-STORE-80201.users (4 documents)
2021-11-23T23:33:00.733+0530    reading metadata for MERN-STORE-80201.merchants from dump\MERN-STORE-80201\merchants.metadata.json
2021-11-23T23:33:00.781+0530    restoring MERN-STORE-80201.addresses from dump\MERN-STORE-80201\addresses.bson
2021-11-23T23:33:00.802+0530    restoring indexes for collection MERN-STORE-80201.categories from metadata
2021-11-23T23:33:00.870+0530    restoring MERN-STORE-80201.merchants from dump\MERN-STORE-80201\merchants.bson
2021-11-23T23:33:00.885+0530    restoring indexes for collection MERN-STORE-80201.brands from metadata
2021-11-23T23:33:01.256+0530    no indexes to restore
2021-11-23T23:33:01.256+0530    finished restoring MERN-STORE-80201.addresses (2 documents)
2021-11-23T23:33:01.302+0530    no indexes to restore
2021-11-23T23:33:01.302+0530    finished restoring MERN-STORE-80201.merchants (1 document)
2021-11-23T23:33:01.330+0530    finished restoring MERN-STORE-80201.brands (2 documents)
2021-11-23T23:33:01.335+0530    finished restoring MERN-STORE-80201.categories (4 documents)
2021-11-23T23:33:01.335+0530    done

Я создал библиотеку под названием BackSync , которая помогает создавать резервные копии и синхронизировать базы данных MongoDB (а также локальные файлы/каталоги и некоторые другие известные базы данных). Вы также можете запланировать ее с помощью pm2 для автоматического запуска процесса.

Установить:

      npm i -g @ayoubamine/backsync

Добавьте источник резервной копии MongoDB:

      backsync add backup

Добавьте источник синхронизации (локальный, Google Диск, ...):

      backsync add sync

Затем запустите процесс:

      backsync run

mongodump -h имя хоста -u dbusername -p dbpassword --db dbname - номер порта порта --out / путь / папка

mongodump -h имя хоста -u dbusername -p dbpassword --db dbname - номер порта порта --out /path/folder.gz

Другие вопросы по тегам