반응형
안녕하세요
Mysql기반 sqldump를 활용한 DB 백업방법입니다.
해당 스크립트는 각각의 Table별 백업을 파일을 만들어서 관리할 수 있으며
DB List에 들어있는 모든 Table의 리스트를 추출하여 sqldump를 실행합니다.
#!/bin/sh
echo "#### start DB Backup $(date '+%Y-%m-%d %H:%M:%S') ####"
echo ""
Today="`date '+%Y%m%d.%H%M'`"
day="`date '+%Y%m%d'`"
/bin/mkdir -p /db_backup/$Today
DBHOST="localhost"
DBUSER="root"
DBPASS="rootroot"
DBLIST="testdb1 testdb2" ## Backup DB List
SQLBIN="/usr/bin" ## mysql/bin경로
BACKUPDIR="/db_backup/$Today"
echo "### start sqldump $(date '+%Y-%m-%d %H:%M:%S') ###"
for THISDB in $DBLIST
do
TABLELIST=`${SQLBIN}/mysql -h${DBHOST} -u${DBUSER} -p${DBPASS} ${THISDB} -e "show tables" | /bin/grep -v Tables_in_${THISDB}`
DIR="${BACKUPDIR}/${THISDB}"
/bin/mkdir -p $DIR
for THISTABLE in $TABLELIST
do
TABLEDIR="${DIR}/${THISDB}.${THISTABLE}.sql"
$SQLBIN/mysqldump --single-transaction -h$DBHOST -u$DBUSER -p$DBPASS $THISDB $THISTABLE > $TABLEDIR
done
done
echo "### end sqldump $(date '+%Y-%m-%d %H:%M:%S') ###"
echo ""
echo "### start tar $(date '+%Y-%m-%d %H:%M:%S') ###"
cd $BACKUPDIR
tar cvfpz /home/backup/dbbackup_${Today}.tar.gz *
echo "### end tar $(date '+%Y-%m-%d %H:%M:%S') ###"
echo ""
/bin/rm -rf $BACKUPDIR
echo ""
echo "#### end DB Backup $(date '+%Y-%m-%d %H:%M:%S') ####"
반응형
'Database > Mysql' 카테고리의 다른 글
Mysql Table 속성 복제하기 (0) | 2022.08.09 |
---|---|
Current charset is x-windows-949. If password has been set using other charset, consider using option 'passwordCharacterEncoding' (2) | 2022.06.29 |
Mysql/Mariadb 멀티 Insert (여러개 insert) (0) | 2020.12.16 |
Mysql/Mariadb 컬럼 변경/추가 (0) | 2020.12.16 |
Mysql/Mariadb 버전 확인 (0) | 2020.12.16 |
댓글