centos 시스템 의 crontab 명령 을 사용 하여 mongodb 의 정시 백업 을 복원 합 니 다.

centos 스 크 립 트 를 통 해 백업 작업 을 수행 하고 crontab 명령 을 사용 하여 정시 백업 과 복구 기능 을 실현 하 며 지정 한 날짜 전의 백업 을 삭제 합 니 다.
구체 적 인 조작:
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>

좋은 웹페이지 즐겨찾기