MongoDB-Docker 백업

2020. 6. 25. 00:50Development/Docker

몽고DB의 도커 컨테이너 백업

 

 

백업옵션

--db [DB 이름]

--collection [컬렉션 이름]

--out [내보낼 디렉토리 경로]

--host [MongoDB 호스트]

--port [MongoDB 포트]

--username [MongoDB 사용자 ID]

--password [MongoDB 사용자 PW]

 

docker exec mongo sh -c 'mongodump --archive --gzip -v --username root --password mypassword' > backup-`date +%F_%R`.tar.gz

 

 

 

mongo-docker-backup.sh 작성

#!/bin/sh

docker exec mongo sh -c 'mongodump --archive --gzip --username root --password mypassword' > /project/mongo-backup/backup-`date +%F_%R`.tar.gz

 

 

crontab 작성

0 4 * * * sh /project/dple-mongo/mongo-docker-backup.sh

 

 

 

 

 

 

몽고 컨테이너 복원

--host [MongoDB 호스트]

--port [MongoDB 포트]

--username [MongoDB 사용자 ID]

--password [MongoDB 사용자 PW]

 

 

 

복구 정책

 

겹치는데이터 그대로 덮어쓰기

삭제된 document 복구되며 이미 존재하는 documnet 변경없음

docker exec -i mongo sh -c 'mongorestore --archive --gzip -v --username root --password mypassword' < backup.tar.gz

 

 

치는 DB 드랍

docker exec -i mongo sh -c 'mongorestore --archive --gzip -v --drop dpleapi --username root --password mypassword' < backup.tar.gz

 

 

 

 

 

 

 

 

Reference

https://docs.mongodb.com/manual/reference/program/mongodump/#cmdoption-gzip

https://blog.kesuskim.com/2017/04/mongodb-backup-and-restore/

https://jeromejaglale.com/doc/programming/mongodb_docker_mongodump_mongorestore

'Development > Docker' 카테고리의 다른 글

GCP 우분투 도커 설치  (0) 2020.06.30