어떤 명령을 사용하고 실행합니까?
답변
사용 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 일이 지난 백업을 모두 삭제
행운을 빕니다.