[python] 파이썬(PyMongo)을 사용한 MongoDB 데이터베이스 백업 및 복원

MongoDB는 기업에서 많이 사용되는 NoSQL 데이터베이스입니다. 데이터베이스의 중요성과 함께 데이터의 백업과 복원은 매우 중요한 과정입니다. 이번 블로그 포스트에서는 파이썬(PyMongo)을 사용하여 MongoDB 데이터베이스의 백업과 복원을 수행하는 방법을 알아보겠습니다.

1. PyMongo 설치하기

먼저 PyMongo를 설치해야 합니다. 파이썬 pip 패키지 매니저를 사용하여 다음 명령어로 설치할 수 있습니다.

pip install pymongo

2. 데이터베이스 백업하기

데이터베이스의 백업을 수행하기 위해 pymongo.MongoClient 클래스를 사용합니다. 다음은 데이터베이스의 백업을 수행하는 예제 코드입니다.

from pymongo import MongoClient
import datetime

# MongoDB 연결
client = MongoClient('mongodb://localhost:27017/')
# 백업할 데이터베이스 선택
db = client['my_database']

# 백업 파일 이름 생성
backup_filename = f"backup_{datetime.datetime.now().strftime('%Y-%m-%d')}.bson"

# 데이터베이스를 백업 파일로 저장
db.command("mongodump", "--db", db.name, "--out", backup_filename)

위 예제 코드에서는 현재 날짜를 포함한 백업 파일 이름을 생성합니다. db.command() 메서드를 사용하여 몽고디비 셸 명령어를 실행합니다. mongodump 명령어는 데이터베이스를 백업 파일로 저장하는 역할을 합니다.

3. 데이터베이스 복원하기

데이터베이스의 복원을 수행하기 위해서도 pymongo.MongoClient 클래스를 사용합니다. 다음은 데이터베이스의 복원을 수행하는 예제 코드입니다.

from pymongo import MongoClient

# MongoDB 연결
client = MongoClient('mongodb://localhost:27017/')
# 복원할 데이터베이스 선택
db = client['my_database']

# 복원할 백업 파일 이름
backup_filename = 'backup.bson'

# 데이터베이스를 복원
db.command("mongorestore", "--db", db.name, backup_filename)

위 예제 코드에서는 mongorestore 명령어를 사용하여 백업 파일을 데이터베이스에 복원합니다.

4. 결론

파이썬(PyMongo)을 사용하여 MongoDB 데이터베이스의 백업과 복원을 수행하는 방법을 알아보았습니다. 데이터의 안전한 보관과 복구를 위해 정기적으로 백업과 복원을 수행하는 것이 좋습니다. 파이썬과 PyMongo의 강력한 기능을 활용하여 백업과 복원 과정을 자동화할 수 있습니다.

참고 자료