2020. 6. 25. 00:50ㆍDevelopment/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 |
---|