자동 백업 Mongodb

1887 단어 j2eeCentOSmongodb
1. 스크립트 생성:
vim/opt/data/mongd.sh
#!/bin/bash

DB_USER=aaaa                  #       
DB_PASS=xxxx               #         
TAR_DIR=/opt/data/backup/mongo                #         ,  :/data/backup/mongod
OUT_DIR=/opt/data/backup/tmp                 #         ,  :/data/backup/mongod/tmp

DUMP=mongodump
DATE=`date +%Y_%m_%d_%H_%M_%S`    #             
DAYS=7                           #     14    
TAR_BAK="mongod_bak_$DATE.tar.gz"  #         

mkdir -p $OUT_DIR && cd $OUT_DIR  #      $OUT_DIR     ,          
rm -rf $OUT_DIR/*                 #       
mkdir -p $OUT_DIR/$DATE           #          
$DUMP -h 127.0.0.1:27027  -u $DB_USER -p $DB_PASS -d mydb -o $OUT_DIR/$DATE  #       
tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE       #              
find $TAR_DIR/ -mtime +$DAYS -delete             #   14      
chmod +x ~/crontab/mongod.sh

만약 당신이 윈도우즈 편집 셸이라면, 유닉스로 디코딩해야 합니다:
dos2unix mongod.sh

자동 실행
crontab -e
0 2 * * * root ~/crontab/mongod.sh

전원 켜기 부팅:

/bin/systemctl restart  crond.service
systemctl enable crond.service    //       

 
복구 명령:
mongorestore 명령 스크립트의 구문은 다음과 같습니다.
>mongorestore -h <:port> -d dbname 
  • --host<:port>,-h<:port>:MongoDB가 있는 서버 주소, 기본값:localhost:27017
  • --db,-d: 복구가 필요한 데이터베이스 실례, 예를 들어:test, 물론 이 명칭도 백업할 때와 다를 수 있다. 예를 들어test2
  • -drop: 복구할 때 현재 데이터를 삭제한 다음 백업한 데이터를 복구합니다.복구 후 백업 후 수정된 데이터를 추가하면 삭제됩니다. 조심하세요!
  • :mongorestore의 마지막 매개 변수로 백업 데이터가 있는 위치를 설정합니다. 예를 들어 c:\data\dump\test입니다.너는 와--dir 옵션을 동시에 지정할 수 없고, --dir도 백업 디렉터리를 설정할 수 있다.
  • --dir: 백업된 디렉터리를 지정하면 과 --dir 옵션을 동시에 지정할 수 없습니다.
  • 좋은 웹페이지 즐겨찾기