DB백업 자동 스크립트 만들기

안녕하세요? WEBPD.NET 서버운영팀입니다.

 

30 4 * * * /etc/cron.d/db.sh

(위 내용을 crontab -e 에 등록해준다.)

 

#!/bin/sh

###################

# mysql backup tools #

# code by colorweb   #

###################

_USERNAME="root" # DB root 계정

_PASSWORD="password" # DB root 패스워드

_BACKUP_DIR="/backup/db/" # 백업 위치

c_time="3" # 보관주기

 

/usr/bin/mysqladmin -u $_USERNAME -p$_PASSWORD reload >& /dev/null

mkdir -p $_BACKUP_DIR$(date +%Y%m%d)

 

now_db=`echo "show databases" | /usr/bin/mysql -u $_USERNAME -p$_PASSWORD`

num=1

 

for dir in $now_db ; do

if [ $dir != "Database" ]; then

   /usr/bin/mysqldump -u $_USERNAME -p$_PASSWORD \

   --databases $dir > $_BACKUP_DIR$(date +%Y%m%d)/$dir-$(date +%Y%m%d).sql

   echo "Database - $dir - Backup Complete!!"

   num=$(($num+1))

fi

 

 

  # 3일 지난 데이터 삭제

  find $_BACKUP_DIR* -ctime $c_time -exec rm -rf {} \;

 done

이 답변이 도움이 되었습니까? 0 명의 사용자가 추천했습니다. (0 추천)