티스토리 뷰

728x90
반응형

 

 아래는 몽고DB를 mongodump로 압축 백업하는 명령어입니다.

{name}, {password}에는 몽고DB 로그인 접속정보를 입력해주시면 됩니다.

 

mongodump --archive=/backup/mongodb_$(date +%y%m%d-%H%M).gz --gzip --username {name} --password {password}

 

압축하지않고 데이터를 .json로 백업하는 명령어는 아래와 같습니다.

mongoexport --authenticationDatabase admin -u {username} -p {password} --db {database} --collection {collectionName} --out {fileName}.json

 

 

주기적으로 몽고DB를 백업하기 위해서는 스크립트를 작성하여 스케줄링을 돌려주시면 됩니다.

backup.sh라는 스크립트 파일을 만들어줍니다.

backup.sh에는 mongodump로 현재기준 DB데이터를 백업하고, 일주일 이상된 백업파일을 삭제하는 명령어를 작성해주었습니다. (서버 용량이 넉넉하다면 삭제명령어를 작성하지 않거나, 기간을 늘리면 됩니다) 

vi backup.sh
echo "back up .."
mongodump --archive=/backup/mongodb_$(date +%y%m%d-%H%M).gz --gzip --username {name} --password {password}

echo "removing old back up files. . .7 days old files"
find /backup/*.gz -mtime +7 -exec rm -f {} \;

 

그리고 크론탭에 들어가서 작성한 backup.sh 파일을 주기적으로 실행시켜주도록 수정해줍니다.

crontab -e
# mongoDB backup  // every 3 days
0 0 */3 * * /backup.sh

 

백업 스크립트가 실행되면 아래와 같이 backup 디렉토리에 백업 gz파일이 생성됩니다.

 

이 백업 파일은 mongorestore 명령어를 통해 다시 몽고DB에서 불 러올 수 있습니다.

mongorestore --db {db명} --port 27017 /backup/{백업파일명}
728x90
반응형
댓글