mysql

스크립트를 이용한 mysql 백업하기

은둔한량 2013. 2. 18. 15:10
반응형

mysql에서는 mysqldump를 이용하여 백업을 수행

. mysqldump -u root(사용자명) -p mysql(데이터베이스이름) > mysqlbackup.sql(백업할파일이름)

 

1. 백업 스크립트(1)

  - backup_db.sh

    #!/bin/sh

    # DB backup script

    newfile=`date -d "0 days" +%Y%m%d%H%M%S`

    delfile=`date -d "-3 days" +%Y%m%d%H%M%s`

    echo === mysql delete : ${delfile}

    rm -rf ${delfile}.tar.gz

    rm -rf ${delfile}

    echo === mysql dump

    mysqldump -u x -p --default-character-set=utf8 mysql > /backup/${newfile}-mysql

    mysqldump -u x -p --default-character-set=utf8 www > /backup/${newfile}-www

    echo === tar.gz backup file

    tar cvfz {newfile}.tar.gz {newfile}*

 

2. 백업 스크립트(2)

  - backup_db.sh

    #!/bin/sh 

    dat=`date +%Y%m%d%H%M%S`
    tar cfpz /bak/db/mysql$dat.tgz /var/mysql/data/*
    tar cfpz /bak/user/aaa$dat.tgz /home/aaa/*
    tar cfpz /bak/user/webroot$dat.tgz /home/webroot/public_html/*
    #tar cfpz /bak/user/cvs$dat.tgz /home/cvs/*

    echo === removing old backup files ===
    find /bak/db/ -mtime +30 -exec rm -f {} \;
    find /bak/user/ -mtime +30 -exec rm -f {} \;

 

3. 파일 관리

  - 현재 날짜로 파일 만들기

    . dump_date=$(date +%Y%m%d)

    . dump_date=$(date +%Y%m%d%H%M%S)

    . echo $dump_date

  - 7일전 데이터 삭제

    . old_data=`date -d "7 day ago" +"%Y%m%d"`

    . rm -rf ${old_data}

 

반응형

'mysql' 카테고리의 다른 글

mysql 계정생성  (0) 2013.02.18
버전별 MySQL user , db , database 생성 삭제  (0) 2013.02.18
MySQL UTF-8 언어 설정 방법  (0) 2013.02.18
mysql 백업 스크립트 2  (0) 2013.02.18
mysql 백업 스크립트  (0) 2013.02.18