목차
기본적인 백업
아래의 명령어로 백업한다.
이 방법을 사용하면 현재 디렉토리에 /dump 디렉토리를 생성하고 그 안에 백업한다.
만약 dump 디렉토리에 백업이 이미 존재한다면 기존의 백업을 제거하고 새로운 백업으로 대체한다.
$ sudo mongodump
아래의 명령어로 다시 불러올 수 있다.
$ sudo mongorestore
백업이나 복원 과정에서 MongoDB가 느려지기 때문에 NodeBB의 점검모드를 활성화하고 백업하는 것이 좋을 것 같다.
crontab을 통한 주기적인 백업
우선 백업을 저장할 디렉토리를 생성한다.
사실 냅둬도 알아서 생성되긴 한다.
$ sudo mkdir /var/backups/mongo
백업 디렉토리를 mongo로 설정하고 백업한다.
아래의 명령어로 백업을 하면 /var/backups/mongo 디렉토리 안에 백업 파일이 생긴다.
$ sudo mongodump --out /var/backups/mongo
특정 DB만 따로 백업하고 싶다면 db를 지정해줄 수 있다.
$ sudo mongodump --db DB이름 --out /var/backups/mongo
내 경우에는 NodeBB에 사용하기 위해 MongoDB를 설치하면서 비밀번호를 설정했기 때문에 사용자 정보를 같이 입력해야 한다.
아래의 명령어로 입력하면 된다.
$ sudo mongodump --out /var/backups/mongo -u 유저명 -p 비밀번호
이제 crontab을 통해 주기적으로 백업을 하게 설정한다.
mongodump에 sudo 권한이 필요하기 때문에 아래의 명령어로 sudo 권한의 crontab 파일을 연다.
$ sudo crontab -e
crontab에 아래의 내용을 추가한다.
아래와 같이 추가하면 매주 일요일 새벽 4시 30분에 전체 DB를 /var/backups/mongo 디렉토리로 백업한다.
30 4 * * 0 mongodump --out /var/backups/mongo -u 유저명 -p 비밀번호
참고: Crontab 사용 방법