티스토리 뷰
현재 MongoDB에 저장된 데이터를 자동으로 보관하기 위해 다음과 같은 쉘 스크립트를 사용하여 저장한다.
* MongoDB 데이터 저장 과정 및 필요 사항
- 컨테이너 생성 시 데이터볼륨 옵션(docker run -v)을 사용하여 컨테이너 내 백업 경로(/dump)를 컨테이너 외부 디렉터리(/srv/mongo/dump) 연결하도록 설정하도록 한다.
# docker run -dit --name mongo -v /srv/mongo/db:/data/db -v /srv/mongo/dump:/dump --restart always -p 27017:27017 mongo
👉 컨테이너가 멈추더라도 데이터 볼륨 옵션 경로에 저장된 데이터는 그대로 컨테이너 외부에서 유지됨
(컨테이너에 문제가 생겨도 백업된 파일 보존 가능)
mongodump를 통한 mongoDB 데이터 백업 및 백업 데이터가 저장된 아카이브 파일 생성 스크립트 생성(dump.sh)
#!/bin/bash
BACKUPPREFIX="dump"
TIMESTAMP=`date +%Y%m%d%H%M%S`
DATE=`date +%Y%m%d`
BACKUPDIR="/dump"
MONGODUMP_PATH="/usr/bin/mongodump"
HOST="127.0.0.1"
BACKUPNAME="$BACKUPPREFIX-$TIMESTAMP"
BACKUPFILE="$BACKUPPREFIX-$DATE"
$MONGODUMP_PATH -h $HOST -o $BACKUPDIR/$BACKUPNAME
tar -zcvf $BACKUPDIR/$BACKUPFILE.tar $BACKUPDIR/$BACKUPNAME
rm -r $BACKUPDIR/$BACKUPNAME
1시간마다 해당 스크립트 자동 실행되도록 설정 (crontab)
0 * * * * /bin/bash /dump/dump.sh
'문제해결' 카테고리의 다른 글
cargo, rustup 설치 명령어 (0) | 2021.01.03 |
---|---|
[문제해결] Windows에서 rm -rf 사용하기 (0) | 2020.09.30 |
[문제해결] cron 스케쥴러 간단 명령어 정리 (0) | 2020.09.28 |
[안드로이드 프로그래밍] you need to use a Theme.AppCompat theme (or descendant) with this activity. 에러 해결 (0) | 2017.01.23 |
[문제해결] 윈도우 패키지 매니저 : chocolatey (0) | 2017.01.20 |
- Total
- Today
- Yesterday
- 자바
- cors 문제
- 배열에서 오브젝트 삭제하기
- nginx cors
- 프로그래밍
- cors 해결방법
- 파이썬 팁
- react 시작하는 법
- 파이썬 프로그래밍
- create-react-app 시작하기
- cargo 설치 명령어
- Java 프로그래밍
- 프로그래밍구성방법
- 빈 컴포넌트
- 문제해결
- ubuntu node
- rustup
- 파이썬
- Python Programming
- Java
- 자바스크립트 배열 오브젝트 삭제
- python tip
- java programming
- cros 에러
- cros 방법
- 자바프로그래밍
- 최신 nodejs
- node 최신버전
- Python
- php로 자바스크립트 콘솔 출력
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |