ELK 생태계 - 셸 스 크 립 트 정시 백업 elasticsearch 데이터

목차
1. es 백업 설명:
2. es 백업 사고:
(1) 각 index 단독 백업:
(2) 오래된 백업 을 지우 고 백업 하기:
(3) 백업 을 한 다음 에 오래된 백업 을 삭제 합 니 다.
3. es 백업 스 크 립 트:
(1) 프로필:
(2) 코드:
(3) 설정 매개 변수 설명:
(4) 사용 주의사항:
(5) 정시 crond 설정:
 
1. es 백업 설명:
첫 번 째 스냅 샷 은 데이터 의 완전한 복사 이지 만 모든 후속 스냅 샷 은 저 장 된 스냅 샷 과 새로운 데이터 간 의 차 이 를 유지 합 니 다.데이터 에 대한 스냅 샷 이 수시로 진행 되면 서 백업 도 추가 되 고 삭제 되 고 있 습 니 다.
2. es 백업 사고:
우리 가 필요 로 하 는 것 은 es 단기 나 집단 에 대한 진정한 백업 이다. 어떤 것들 이 확실히 문제 가 생 겼 을 때 완전한 데이터 복사 가 있다.다른 es 에는 많은 index 가 있 을 수 있 습 니 다. 복구 할 때 가능 한 한 편리 하도록 index 백업 에 대응 하 는 단독 백업 을 강력 히 권장 합 니 다.따라서 es 백업 방향 은 다음 과 같다.
(1) 각 index 단독 백업:
따라서 셸 스 크 립 트 배합 파일 에 백업 할 색인 인자 가 있어 여러 index 를 설정 할 수 있 습 니 다.
(2) 오래된 백업 을 지우 고 백업 하기:
메모: index 에 대응 하 는 백업 을 삭제 합 니 다. 백업 이름 을 삭제 하려 면 이전 백업 이름 과 일치 해 야 합 니 다. 따라서 백업 이름 규칙 을 강력 히 권장 합 니 다: index 이름backup_년 월 일, 그리고 index 를 백업 합 니 다.이 경우 백업 기록 보존 일수 > = 2 에 많이 적 용 됩 니 다.
(3) 백업 을 한 다음 에 오래된 백업 을 삭제 합 니 다.
비상 주의: index 를 백업 할 때 wait 를 추가 합 니 다.for_completion = true 의 매개 변 수 는 index 백업 을 삭제 하면 동기 화 됩 니 다. 삭제 가 끝 난 후에 스 크 립 트 가 계속 아래로 실 행 됩 니 다. 그렇지 않 으 면 기본적으로 비동기 로 실 행 됩 니 다. 데이터 가 삭제 되 지 않 으 면 스 크 립 트 의 이후 명령 을 실행 합 니 다.백업 이름 규칙 을 강력 히 권장 합 니 다: index 이름backup_년 월 일, 그리고 오래된 백업 을 삭제 합 니 다.이 경우 백업 기록 보존 일수 가 1 일 인 경우 가 많다.
3. es 백업 스 크 립 트:
셸 스 크 립 트 를 설정 할 수 있 는 정시 백업 es 데 이 터 를 개발 하여 각 es 에 적용 합 니 다. 해당 es 정 보 를 설정 하면 됩 니 다. 또한 백업 과정 에서 이상 이 발생 하면 자동 으로 메 일 알림 관리자 에 게 보 냅 니 다.구체 적 인 스 크 립 트 는 다음 과 같 습 니 다.
(1) 프로필:
ipAddress=192.168.99.164
portNumber=9200
warehouseName=data_backup
backupsFileDay=1
backupBeforeDelete=yes
indexNames=test_one,test_two
curlPath=/usr/bin/curl
[email protected]
sendEmailTitle=  ES      
sendEmailContent=  ES      

(2) 코드:
#!/bin/sh

#db_backups_conf.txt    
db_backups_conf="/wocloud/shell/elasticsearch_backup_config.txt"

#        
if [ -f "${db_backups_conf}" ];then
	
	echo $(date +'%Y-%m-%d %H:%M:%S')"             "

	#       ,  map  Key 
	dbArrOne=($(awk -F'[=]' '{print $1}' ${db_backups_conf} ))
	
	#       ,  map  value 
	dbArrTwo=($(awk -F'[=]' '{print $2}' ${db_backups_conf}))

	#     map
	declare -A map=()
	
	#    , db_backups_conf           map 
	for((i=0;i

(3) 설정 매개 변수 설명:
      :
ipAddress=  es ip  
portNumber=  es  
warehouseName=      
backupsFileDay=        
backupBeforeDelete=            ,yes、no
indexNames=             ,           
curlPath=  curl    
semdEmailTo=     ,            
sendEmailTitle=      (           =)
sendEmailContent=      (           =)

(4) 사용 주의사항:
      :
1、    .sh、.txt      /woclod/shell   ,         ,    .sh   .txt       
2、              mail,   linux       mail    mail.rc          。
3、  es      : es elasticsearch.yml                  。
4、  es      :         elasticserch.yml               。
5、  es      : es           ,          ,        、     。

(5) 정시 crond 설정:
1 23 * * * /data/shell/esBackupsSql.sh &>/data/shell/esBackupsLogs/fileBackupsEcho_`date +\%Y-\%m-\%d-\%H-\%M-\%S`.txt 2>&1

좋은 웹페이지 즐겨찾기