[database] 데이터베이스의 MongoDB 덤프를 작성하는 방법

어떤 명령을 사용하고 실행합니까?



답변

사용 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

업데이트 :
데이터베이스의 모든 컬렉션을 날짜 폴더에 백업합니다. 파일이 압축되어 있습니다 :

mongodump --db somedb --gzip --out /backups/`date +"%Y-%m-%d"`

또는 단일 아카이브의 경우 :

mongodump --db somedb --gzip --archive > dump_`date "+%Y-%m-%d"`.gz

또는 mongodb가 docker 내에서 실행될 때 :

docker exec <CONTAINER> sh -c 'exec mongodump --db somedb --gzip --archive' > dump_`date "+%Y-%m-%d"`.gz


답변

이 명령은 주어진 데이터베이스를 json 및 bson 형식으로 덤프합니다.

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


답변

mongodump라는 유틸리티가 있습니다. mongo 명령 행에서 다음을 입력 할 수 있습니다.

>./mongodump

위의 내용은 로컬 호스트의 모든 데이터베이스 덤프를 만듭니다. 단일 콜렉션 덤프를 사용하려면 다음을 수행하십시오.

./mongodump --db blog --collection posts

살펴보기 : mongodump


답변

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


답변

타이밍이있는 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

편집기 (예 : nano)로 열립니다

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