centos 시스템 의 crontab 명령 을 사용 하여 mongodb 의 정시 백업 을 복원 합 니 다.
3626 단어 mongodb 백업 및 복구
구체 적 인 조작:
1.Mongodb 데이터베이스 백업 디 렉 터 리 만 들 기
mkdir -p /home/backup/mongod_bak/mongod_bak_now
mkdir -p /home/backup/mongod_bak/mongod_bak_list
2,새 Mongodb 데이터베이스 백업 스 크 립 트vi /home/crontab/mongod_bak.sh\#새 파일,다음 코드 입력
#!/bin/sh
DUMP=/usr/local/mongodb/bin/mongodump #mongodump
OUT_DIR=/home/backup/mongod_bak/mongod_bak_now #
TAR_DIR=/home/backup/mongod_bak/mongod_bak_list #
DATE=`date +%Y_%m_%d` #
DB_USER=username #
DB_PASS=123456 #
DAYS=7 #DAYS=7 7 , 7
TAR_BAK="mongod_bak_$DATE.tar.gz" #
cd $OUT_DIR
rm -rf $OUT_DIR/*
mkdir -p $OUT_DIR/$DATE
$DUMP -u $DB_USER -p $DB_PASS -o $OUT_DIR/$DATE #
tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE # .tar.gz
find $TAR_DIR/ -mtime +$DAYS -delete # 7
3.파일 속성 을 수정 하여 실행 가능
chmod +x /home/crontab/mongod_bak.sh
4.수정/etc/crontab\#계획 작업 추가
crontab -e
아래 에 추가
30 1 * * * root /home/crontab/mongod_bak.sh # 1 30
5.crond 를 다시 시작 하면 설정 이 적 용 됩 니 다.
/sbin/service crond reload #
chkconfig --level 35 crond on # :
/sbin/service crond start #
crontab -l # crontab
매일/home/backup/mongdbak/mongod_bak_list 디 렉 터 리 아래 mongodbak_2017_02_28.tar.gz 와 같은 압축 파일.이로써 리 눅 스에 서 Mongodb 데이터 베 이 스 를 자동 으로 백업 하고 지 정 된 일수 전의 백업 을 삭제 합 니 다.
Mongodb 정시 복구 백업
모든 데이터베이스 복구:
mongorestore Cdrop Cdirectoryperdb
/home/backup/mongod_bak/mongod_bak_now/2017_02_28/
단일 데이터베이스 복구:
mongorestore Cdrop -d dataname Cdirectoryperdb
/home/backup/mongod_bak/mongod_bak_now/2017_02_28/dataname
Cdrop 파라미터:데 이 터 를 복구 하기 전에 원래 데이터베이스 데 이 터 를 삭제 하고 데이터 가 중복 되 지 않도록 합 니 다.Cdirectory perdb 인자:데이터베이스 백업 디 렉 터 리
-d 매개 변수:복구 할 데이터베이스 이름 뒤에
crontab 명령:
crontab 명령 은 유 닉 스 와 유 닉 스 운영 체제 에서 흔히 볼 수 있 으 며 주기 적 으로 실 행 된 명령 을 설정 하 는 데 사 용 됩 니 다.이 명령 은 표준 입력 장치 에서 명령 을 읽 고 나중에 읽 고 실행 할 수 있 도록'crontab'파일 에 저장 합 니 다.이 단 어 는 그리스 어 chronos(χρ?νο?),시간
일반적으로 crontab 에 저 장 된 명령 은 데 몬 에 의 해 활성화 되 며,crond 는 항상 배경 에서 실 행 됩 니 다.매 분 마다 예 정 된 작업 이 실행 되 어야 하 는 지 확인 합 니 다.이런 작업 은 일반적으로 cron jobs 라 고 부른다.
crontab 설치:
[root@CentOS ~]# yum install vixie-cron
[root@CentOS ~]# yum install crontabs
설명:vixie-cron 패 키 지 는 cron 의 메 인 프로그램 입 니 다.
crontabs 패 키 지 는 cron 데 몬 을 구동 하 는 표를 설치 하거나 제거 하거나 열거 하 는 프로그램 입 니 다.
cron 은 Liux 의 내 장 된 서비스 이지 만 자동 으로 일어나 지 않 습 니 다.다음 과 같은 방법 으로 이 서 비 스 를 시작 하고 닫 을 수 있 습 니 다.
/sbin/service crond start #
/sbin/service crond stop #
/sbin/service crond restart #
/sbin/service crond reload #
crontab 서비스 상태 보기:
service crond status
crontab 서 비 스 를 수 동 으로 시작 합 니 다:
service crond start
기타 명령:
# crontab , :
ntsysv
# :
chkconfig --level 35 crond on
# crontab
crontab -l
# crontab
crontab -e
# crontab
$ crontab -r
# crontab
# $HOME , /var/spool/cron/<username>, <username >
# ,<filename> $HOME
crontab <filename>