mongodb backup and restore

mongodb를 docker로 사용하고 있었는데 backup과 restore하는 방법을 살펴보자.

backup

docker run -i --rm --link mongo:mongo mongo:3.4.7 bash -c 'mongodump -v --host $MONGO_PORT_27017_TCP_ADDR:$MONGO_PORT_27017_TCP_PORT --db [backup_db] --username [username] --password [password] --gzip --archive' > backup_db.archive.gz

restore

docker run -i --rm --link mongo:mongo mongo:3.4.7 bash -c 'mongorestore -v --host $MONGO_PORT_27017_TCP_ADDR:$MONGO_PORT_27017_TCP_PORT --db [backup_db] --username [username] --password [password] --gzip --archive' < backup_db.archive.gz
  • archive는 mongodb 3.2 부터 추가된 옵션이다. 여러 파일이 아닌 archive 파일로 떨궈 준다.
  • gzip는 mongodb 3.2 부터 추가된 옵션이다. 바로 gzip 압축을 해준다.
  • 표준 출력과 입력을 통해서 backup과 restore가 가능하다.