Search
Duplicate

백업 제외 항목 백업 방법 예시

문서번호 : 11-265019

1. memsql.cnf 백업

각 node 의 memsql.cnf 파일 백업
memsql.cnf : node가 시작 될 때 로드되는 엔진 변수들을 갖고 있는 파일
scirpt 예시
※ (제품 기능이 아닌 단순 샘플 용 예시입니다. 개별 환경에 맞춰 변경해서 사용하는 것을 권장합니다.)
#!/usr/bin/bash revc=`tput smso` norc=`tput rmso` if [[ ! "$@" =~ bk=.* ]]; then printf "${revc}Usage : $0 bk=BACKUP_DIR_PATH(.)${norc}\n" fi BACKUP_DIR_PATH="." for v in $@ do case "$v" in bk=*) BACKUP_DIR_PATH=${v/*=/} ;; *) echo "unexpected $v, please bk"; exit ;; esac done printf "\n========== Copy memsql.cnf ==========\n" for MEMSQL_CNF_PATH in `pgrep -a memsqld_safe | awk '{print $4}'` do _PORT="`grep port $MEMSQL_CNF_PATH | cut -d'=' -f2 | tr -d ' '`" CP_COMMAND="/usr/bin/cp -f $MEMSQL_CNF_PATH ${BACKUP_DIR_PATH}/memsql.cnf.`hostname -f`:${_PORT}.`date +%Y%m%d%H%M%S`" $CP_COMMAND echo $CP_COMMAND done printf "\n========== Check Files ==========\n" LL_COMMAND="/usr/bin/ls -l $BACKUP_DIR_PATH" echo $LL_COMMAND $LL_COMMAND
Bash
복사
예시 script 실행 결과
sh backup_s2.cnf.sh ========== memsql.cnf ========== /usr/bin/cp -f /home/<user>/singlestore/nodes/lf3/memsql.cnf ./memsql.cnf.ma:3310.20220602164444 /usr/bin/cp -f /home/<user>/singlestore/nodes/lf4/memsql.cnf ./memsql.cnf.ma:3311.20220602164444 /usr/bin/cp -f /home/<user>/singlestore/nodes/lf2/memsql.cnf ./memsql.cnf.ma:3309.20220602164444 /usr/bin/cp -f /home/<user>/singlestore/nodes/lf1/memsql.cnf ./memsql.cnf.ma:3328.20220602164445 /usr/bin/cp -f /home/<user>/singlestore/nodes/ca/memsql.cnf ./memsql.cnf.ma:3327.20220602164445 /usr/bin/cp -f /home/<user>/singlestore/nodes/ma/memsql.cnf ./memsql.cnf.ma:3306.20220602164445 # 생성된 backup 파일 memsql.cnf.ma:3306.20220602164445 memsql.cnf.ma:3309.20220602164444 memsql.cnf.ma:3310.20220602164444 memsql.cnf.ma:3311.20220602164444 memsql.cnf.ma:3327.20220602164445 memsql.cnf.ma:3328.20220602164445
Bash
복사

2. Users, Resource pools, Grant, Variables 백업

sdb-admin dump 명령어를 사용하여 User, Resource pools, Grant 구문 백업
variables는 sdb-report명령어를 사용
scirpt 예시
※ (제품 기능이 아닌 단순 샘플 용 예시입니다. 개별 환경에 맞춰 변경해서 사용하는 것을 권장합니다.)
#!/usr/bin/bash revc=`tput smso` norc=`tput rmso` if [[ ! "$@" =~ bk=.* ]]; then printf "${revc}Usage : $0 bk=BACKUP_DIR_PATH(.)${norc}\n" fi BACKUP_DIR_PATH="." for v in $@ do case "$v" in bk=*) BACKUP_DIR_PATH=${v/*=/} ;; *) echo "unexpected $v, please bk"; exit ;; esac done printf "\n========== sdb-admin dump ==========\n" sdb-admin dump --output-path $BACKUP_DIR_PATH/dump_file.`date +%Y%m%d%H%M%S` printf "\n========== sdb-report showVariables ==========\n" cd $BACKUP_DIR_PATH memsql-report collect --only showVariables printf "FINISH\n" LL_COMMAND="/usr/bin/ls -l $BACKUP_DIR_PATH" echo $LL_COMMAND $LL_COMMAND
Bash
복사
예시 script 실행 결과
sh dpvrb_bk.sh bk=<path> # dump 파일 생성 ========== sdb-admin dump ========== Dump written to <path>/dump_file.20240508134254 # report 생성 ========== sdb-report showVariables ========== Toolbox will perform the following actions: · Execute following collectors - showVariables ✓ Collected report for host <IP> Report written to report-2024-05-08T134254.tar.gz FINISH /usr/bin/ls -l <path> # dump, report 파일 생성 확인 dump_file.20240508134254 report-2024-05-08T134254.tar.gz
Bash
복사
일자
작성자
비고
2022.06.02.
min
2024.05.08
min
스크립트 수정