웹모아
웹모아[가입] 로그인 / 회원가입   검색     


  
백업/기타
 

리눅스에서 PHP 콘솔을 이용한 MySQL DB 백업
2007-04-29 18:17:49 댓글:(0)   조회:1484
 


기존의 DB 백업은 bash 를 셸프로그래밍 소스들이 많이 있습니다.
도스때  config.sys 와 autoexec.bat 를 만져본것 말고는 셸프로그램은 자신이 없어 PHP 를 이용해 셸 프로그램을 만들었습니다.
$dir 은 MySQL 의 DB가 들어있는 디렉토리 (반드시 끝에 /)
$backupdir 은 백업 시킬 디렉토리 ( 반드시 끝에 /)
$id 와 $pw 는 root 의 아이디와 비밀번호
$makeday 는 실행날짜에서 보관할 날짜

실행시키면 $backupdir/20060125 형식의 오늘날짜의 디렉토리가 생성되며 해당 디렉토리에 DB당 DB.sql 과 DB.tar.gz 2개의 파일이 생성됩니다.
다음날 실행하면 20060126 ... 27.. 28 식으로 날짜의 디렉토리가 생성되며 $makeday 날에 의하여 7일 이상 보관된 디렉토리는 삭제 하게 됩니다.
즉, 오늘부터 이전 $makeday 날 동안의 DB가 백업됩니다.

root 상태로 아래의 mydbbackup 파일을 만들어 chmod 로 700으로 권한을 주고
crontab 에 하루에 한번씩 돌아가게 등록시키면 됩니다.

--------------- mydbbackup (id : root / chmod : 700 이상)-------------------
#!/usr/bin/php
    $dir = '/var/lib/mysql/';
    $backupdir = '/dbbackup/';
    $id = 'root';
    $pw = 'qkdlzld2005';
    $makeday = 7;

    if (is_dir($backupdir)) {
        if ($dh = opendir($backupdir)) {
            while (($file = readdir($dh)) !== false) {
                if(is_dir($backupdir.$file) && $file != '.' && $file != '..') {
                    $day = intval((strtotime("now") - strtotime($file))/86400);
                    if($day >= $makeday) {
                        exec("rm $backupdir$file -rf");
                    }
                }
            }
            closedir($dh);
        }
    }

    if (is_dir($dir)) {
        if ($dh = opendir($dir)) {
            while (($file = readdir($dh)) !== false) {
                if(is_dir($dir.$file) && $file != '.' && $file != '..') {
                    $today = date('Ymd');
                    if(!is_dir($backupdir.$today)) {
                        exec("mkdir $backupdir$today");
                    }
                    exec("mysqldump -u $id -p$pw $file > $backupdir$today/$file.sql");
                    exec("tar zcf $backupdir$today/$file.tar.gz $dir$file 2>/dev/null");
                }
            }
            closedir($dh);
        }
    }
    clearstatcache();
?>

. 


[이전글]  가격비교 참고자료
[다음글]  utf8 환경으로 자료 conversion 성공기


 
댓글쓰기는 회원(로그인 하신분) 이상 가능합니다.


 댓글 (0)

  
백업/기타
페이지: 1 / 4   

 XtraBackup을 이용한 MySQL 백업 및 복구
열람:3003   2019.08.04


 MySQL DB 백업 및 복구 - mysqldump
열람:1003   2011.07.05


 [MySQL] 리눅스DB를 윈도우DB로 이전(Tool)
열람:1172   2011.07.05


   [RE] [MySQL] 리눅스DB를 윈도우DB로 이전
열람:1147   2011.07.05


 정보통신부 제공 우편번호부 원본파일
열람:1376   2008.03.04


 mysql 원격접속방법
열람:1950   2007.10.27


 가격비교 참고자료
(홈마스타) 댓글:(3) 열람:1370   2007.08.04


 리눅스에서 PHP 콘솔을 이용한 MySQL DB 백업
(홈마스타) 열람:1485   2007.04.29


 utf8 환경으로 자료 conversion 성공기
(홈마스타) 열람:1515   2007.03.06


 Mysql-4.1.13 의 한글 문제. | 리눅스
(홈마스타) 열람:1497   2007.03.06



[1]  [2]  [3]  [4]  

복수단어 검색은 공백(space)로 구분해 주세요.




 
최근 글 [손님]
 
인기 글 [손님]
[홈마스타] [RE] input type=\\
[홈마스타] [RE] input type=\\