맛집 여행 캠핑 일상 생활

PHP mysqldump 로 테이블 백업 받는 방법 본문

LAMP

PHP mysqldump 로 테이블 백업 받는 방법

영은파더♥ 2016. 7. 29. 14:06
728x90

PHP mysqldump 로 테이블 백업 받는 방법


PHP 에서도 일반계정(유저)의 DB Table 을 백업 받을 수가 있다.

아래의 소스코드를 php 파일로 저장해서 계정정보와 경로 등을 수정하면 된다.

<?php

$DB_HOST = 'localhost';

$DB_USER = 'DB계정';

$DB_PASS = 'DB비번';

$DB_NAME = 'DB네임';


$BACKUP_PATH = '/home/유저/www/';

$BACKUP_NAME = 'DB_'.date("Ymd_His").'.sql.gz';

$BACKUP_FILE = $BACKUP_PATH.$BACKUP_NAME;

$DOWNLOAD_PATH = './'.$BACKUP_NAME;

$command = "mysqldump -h$DB_HOST -u$DB_USER -p$DB_PASS $DB_NAME --opt | gzip > $BACKUP_FILE";


system($command);

echo "<a href='$DOWNLOAD_PATH'>$BACKUP_NAME</a>";

?>


다운로드 받고 바로 삭제가 되기를 원한다면 위의 소스에서 a href 부분을 아래 처럼 해주면 된다.

if(file_exists($DOWNLOAD_PATH)) {

$filename = urlencode($BACKUP_NAME);

header("Content-Type: application/octet-stream;");

header("Content-Disposition: attachment; filename=$filename");

header("Content-Transfer-Encoding: binary");

header("Content-Length: ".(string)filesize($DOWNLOAD_PATH));

header("Cache-Control: cache, must-revalidate");

header("Pragma: no-cache");

header("Expires: 0");

readfile($DOWNLOAD_PATH);

unlink($DOWNLOAD_PATH);

}


728x90
반응형
Trackback : | Comments :