>> Delete Reply from No. 0 article
No. RE: RE: RE: RE: MySQL 모든 DB 백업하기 - 무식하고
빠른...

등록 2001-03-08 15:06:00     조회 5
이름 영아찌    

		데이터로 백업받는 경우는 이 백업 받은 내용을 같은 운영체제에
서만 사용할수 있습니다.
즉 리눅스에서 백업 받은 경우 파일 시스템이 같은 리눅스에서만
사용할수 있다는 뜻입니다.^^
이점을..염두에 두시고 백업을 하셔야 합니다.
 :
: mysql 은 데이타베이스를 디렉토리와 화일형식으로 저장합니다.
: 그것을 이용하여 좀 무식하지만 빠른 백업방법을 소개합니다.
: <pre>
: [root@mexplorer /root]# cat backupdb.sh
: #!/bin/bash
: #
: # 아래 방법은 무식한 mysql 백업 방법입니다. 그러나 빠르구요.
: # 생성되는 화일은 20010305.tar.gz 와 같은 화일이 저장됩니다.
: # 가장최근 화일만 저장되게 되어 있습니다. 만약 이전 백업을 유지하려면
: # 맨 아래 for 문 부분을 삭제 하시면 됩니다.
: # 백업하는 방법은
: # mysql 을 정지시키고
: # tar xvfzp /var/backup/20010305.tar.gz
: # 로 하고 압축이 풀린 디렉토리에서 *.pid 와 *.sock 를 삭제하고 mysql 을 작동하시면 됩니다
: . # 이 화일은 /etc/cron.daily 밑에 두시면 자동 백업됩니다.
:
: DATA_DIR=/var/lib/mysql
: BACKUP_DIR=/var/backup
: DATE=$(date +%Y%m%d)
:
: tar cvfzp $BACKUP_DIR/$DATE.tar.gz $DATA_DIR
:
: for i in $( ls $BACKUP_DIR ); do
:     if [ -f $BACKUP_DIR/$i ]; then
:         if [ $i != $DATE.tar.gz ]; then
:             rm -f $BACKUP_DIR/$i
:         fi
:     fi
: done
: [root@mexplorer /root]#
: </pre>
: 위 방법은 좀 편법인 방법이기도 하지만 데이타 용량이 크더라도
: 서버 백업부하를 적게 차지합니다.
:
:
:
:
: : 안녕하세요.
: : 전체 모든 db를 백업할때는 --all-databases > 파일명 하시면 됩니다.
: : ilubzzon
: :
: :
: : : :
: : : : <hr>
: : : : #!/bin/bash
: : : : BACKUP_DIR=/var/backup
: : : : FILE_PFX =MY_DB
: : : :
: : : : DATE=$(date +%Y%m%d)
: : : : OF = $FILE_PFX-$DATE.sql
: : : : rm -rf $BACKUP_DIR/$FILE_PFX-*.sql
: : : :
: : : : mysqldump -uUSER -pPASS DB_NAME > $BACKUP_DIR/$OF
: : : : <hr>
: : : :
: : : : 간단히 만들어 보았습니다.
: : : : 백업데이타는 MY_DB-20010228.sql 이런식으로
: : : : /var/backup 밑에 생깁니다.
: : : :
: : : : BACKUP_DIR 은 백업받고 싶은 디렉토리 이구요..
: : : : FILE_PFX 은 저장할 파일 이름의 프리픽스 정도..
: : : : 날마다 백업된걸 가지고 있고 싶으시면(충분한 하드용량이 된다면)
: : : : rm -rf ........ 이줄은 주석처리해도 무방..
: : : : mysqldump 다음은 알죠? 사용자명과 패스워드 DB명..
: : : :
: : : : /etc/cron.daily 밑에 복사해주시고..
: : : : 실행 권한 주시면 됩니다.
: : :
: : : ----------------------------------------------------
: : :
: : : 안 돌아가는 머리 쥐어 짜면서 만들어 보았습니다.
: : :
: : : ------ /etc/cron.daily/mysqlcump.cron -------------------
: : : #!/bin/sh
: : : #
: : : #
: : : ## Chilbong, Kim <san2 at linuxchannel.net>
: : : ## 2001.03.01
: : : ## http://www.linuxchannel.net : : : ##
: : : ##
: : : ###########################################
: : : ##
: : : ## This file name : "mysqldump.cron"
: : : ## cp mysqldump.cron /etc/cron.daily/
: : : ## chmod 700 /etc/cron.daily/mysqldump.cron
: : : ##
: : : ###########################################
: : : ## user setting
: : : ##
: : : ##
: : : mysql_host="localhost"
: : : mysql_rootpasswd="xxxxxxx"
: : : backupdir="/var/backup"
: : : mysql_backupdir="${backupdir}/mysqldump"
: : : mysql_dump="/usr/local/mysql/bin/mysqldump"
: : : mysql_show="/usr/local/mysql/bin/mysqlshow"
: : : ##
: : : ## Are you compress 'xxxx-2001xxxx-xx.sql' ?
: : : ##     1 = yes(xxxx-2001xxxx-xx.sql.gz)
: : : ##     0 = no
: : : db_compress="1"
: : : ##
: : : ## end user setting !!!
: : : ############################################
: : :
: : : sysdtime=`date +%Y%m%d-%H`
: : : mysql_connect="-h $mysql_host -u root -p$mysql_rootpasswd"
: : : mysql_DBs=`$mysql_show $mysql_connect | egrep -v "(Databases|+)" | awk '{print $2}' 2>/dev/null`
: : :
: : : mysql_dump_work() {
: : : 	mysql_each_DB="$1"
: : : 	mysql_dump_file="${mysql_backupdir}/${mysql_each_DB}-${sysdtime}.sql"
: : : 	$mysql_dump $mysql_each_DB > $mysql_dump_file
: : : 	if [ "$db_compress" = "1" ] ; then
: : : 		gzip -9 $mysql_dump_file
: : : 	fi
: : : }
: : :
: : : if [ "$mysql_DBs" != "" ] ; then
: : :
: : : 	if [ ! -d "$mysql_backupdir" ] ; then
: : : 		mkdir -p "$mysql_backupdir"
: : : 		chmod 700 "$mysql_backupdir"
: : : 	fi
: : :
: : : 	for mysql_DB in $mysql_DBs ; do
: : : 		mysql_dump_work $mysql_DB
: : : 	done
: : :
: : : 	chmod -R 600 $mysql_backupdir
: : : 	#chown -R root $mysql_backupdir
: : :
: : : fi
: : :
: : : exit 0
: : : ----------------------------------------------------------------
: : :
: : : --
: : : LinuxChannel.NET
: :
: : --
: : ㅠㅠ
:
: --
: 서명이라..
[관리자] 패스워드를 입력 하십시오. 답장이 존재하면 함께 삭제됩니다.[ 목록 | 이전 ]
패스워드:    

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved