계정별 디비백업 쉘스크립트

 

mysql 계정별 디비 dump 받아 백업하는 쉘스크립트입니다.

dump파일이 아닌 db 파일들을 백업하면 복원하기 귀찮지요.

각 계정별로 dump 받게 해주고, 7일지난 파일은 삭제됩니다.

 

서버ip, root비밀번호은 서버설정에 맞게 수정하면 됩니다.

 

#!/bin/sh

# configure setting
IP=서버ip

TODAY=$(date +%Y%m%d)

RMTODAY=$(date +%Y%m%d --date '7 days ago')

# system time check
rdate -s time.bora.net


rm -rf /backup/db_backup/$RMTODAY

mkdir -p /backup/db_backup/$TODAY

## DB BACKUP ##

# Set Variables
DB_USER='root' ;
DB_PASS='root비밀번호';
BAK_DIR=/backup/db_backup
RMDATE=7
RMCOUNT=7
#BAK_LIMIT=`expr $RMDATE \* $BAK_COUNT`
TIME=$(date +%Y%m%d)

db_list=`mysql -Bse 'show databases' -u $DB_USER -p$DB_PASS`;

# Mysql Dump
for db_name in $db_list
do
  if [ ! -f $BAK_DIR/$TIME/$db_name.tar.gz ] && mkdir -p $BAK_DIR/$TIME ; then

   mysqldump $db_name -u $DB_USER -p$DB_PASS --add-drop-table --lock-all-table > $BAK_DIR/$TIME/$db_name.sql
fi
done

'리눅스' 카테고리의 다른 글

파일의 분할 split  (0) 2012.06.06
큰 이미지 썸네일생성시 에러 해결  (0) 2012.05.24
계정별로 압축하여 백업하기  (0) 2012.05.04