원격 서버에 있는 MySQL를 저희 사무실에 있는 PC에 백업본 자료를 보관 할려고 합니다.
MySQL-Front 프로그램에 있는 Export 처럼 백업 프로그램을 만들려고 합니다.
매일 정규적으로 시간을 정의 하여 백업을 할 수 있는 프로그램...
"MySQL-Front" 프로그램도 Dump 명령을 이용한거 같은데...델파이에서
어떻게 써야 하는건지 몰라서 질문을 올림니다..
혹시 예제가 있으면 부탁합니다.
SHELL 을 이용한 CRON 을 이용해서 만드는 방법이 있구요
( 여러가지 방법이 공개 되어 있습니다 )
phpMyAdmin 이라는 PHP 로 된 공개 웹 툴(소스) 가 있습니다.
[phpMyAdmin]----------------------------------
PHP 개발자들이 많이 사용하는 편이기도 하구요
http://www.phpmyadmin.net/home_page/index.php
에서 다운받으실수 있습니다.
[ SHELL 을 이용하는 방법 ]----------------------------------
이뉴엔도 님의 글 발췌 하였습니다.
#!/bin/sh
################################# 개요 ##############################
# 인자로 들어온 server1의 특정 db를 백업한다
# 인자가 생략되면 test_db 이다.
# split로 분할 압축후 server2의 /home/myid/test_db 에 ftp로 전송한다
( 여러가지 방법이 공개 되어 있습니다 )
phpMyAdmin 이라는 PHP 로 된 공개 웹 툴(소스) 가 있습니다.
[phpMyAdmin]----------------------------------
PHP 개발자들이 많이 사용하는 편이기도 하구요
http://www.phpmyadmin.net/home_page/index.php
에서 다운받으실수 있습니다.
[ SHELL 을 이용하는 방법 ]----------------------------------
이뉴엔도 님의 글 발췌 하였습니다.
#!/bin/sh
################################# 개요 ##############################
# 인자로 들어온 server1의 특정 db를 백업한다
# 인자가 생략되면 test_db 이다.
# split로 분할 압축후 server2의 /home/myid/test_db 에 ftp로 전송한다
# 파일명 : "db명"_"날짜"_"aa" ...
# 첫번째 인자: db명, 생략하면 test_db
###################################################################
############## 필요한 변수들 ##############
host="server2.test.com"
username="myid"
password="mypasword"
db_name=${1:-test_db}
mysql_dir="/home/mysql/data/"
backup_dir="/tmp/pieces/"
today_date=`date +%Y%m%d`
size="650m"
#########################################
# 기존에 만들어진 파일들을 없앤다
# /tmp/pieces 로 이동후 원하는 db 디렉토리를 분할압축 한다.
# ftp로 server2 의 /home/myid/test_db 로 옮긴다.
echo "[`date +%Y-%m-%d\ %T`] $db_name backup Start !!!"
if [ -d "$backup_dir" ]; then
rm -f ${backup_dir}*
fi
cd $backup_dir
tar cf - ${mysql_dir}${db_name} | gzip -c | split -b $size - ${db_name}_${today_date}_
{
echo user $username $password
echo cd /home/myid/test_db
echo lcd /tmp/pieces
echo prompt
echo mput *
echo quit
} | ftp -n $host 21
echo "[`date +%Y-%m-%d\ %T`] $db_name backup End !!!"
exit 0