반응형

# vi mariadb_dumpbackup.sh

#!/bin/bash

##백업된 경로 /backup 밑에 날짜별 디렉토리 생성하여 DBMS별 백업
DATETIME="`date +%Y%m%d%H`"
OLD_DATE=`/bin/date -d "3 day ago" +"%Y%m%d%H"`;

# 3일 전 백업 디렉터리 삭제
rm -rf /backup/${OLD_DATE};

# 백업 실행된 날짜로 폴더 생성후 DB별 sql로 백업 진행
if [ ! -d "/backup/${DATETIME}" ] ; then mkdir /backup/${DATETIME} ; fi
  for i in `echo "show databases" | /usr/local/mariadb/bin/mysql -u root  | egrep -v "performance_schema|information_schema|test"` ; do
        /usr/local/mariadb/bin/mysqldump --skip-lock-tables -u root $i > /backup/${DATETIME}/${i}.sql
  done

# DBMS 설정된 variables 값 출력하여 백업
/usr/local/mariadb/bin/mysql -uroot -e"show global variables;">> /backup/${DATETIME}/my.cnf.${DATETIME}

# DBMS별 백업된 파일 tar로 압축
tar cvzf /backup/${DATETIME}/Full_${DATETIME}.tar /backup/${DATETIME}/*.sql

 

 

 

+ Recent posts