계정별 디비백업 쉘스크립트
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 |