#title Database Backup HOWTO = 원격 데이터베이스 백업 스크립트 = == 작성자 == * 2006/02/06 - 임유빈 ( purewell@gmail.com ) == 목적 == * 원격지에 있는 데이터베이스 백업을 자동화한다. * cron 등의 유틸리티에 적용할 수 있다. == 지원 목록 == * MySQL 4.1 이상 * PostgreSQL 6.1 이상 == 해야할 일 == * 버그잡기 ( 없음 말고 ) == 필요한 패키지 == === MySQL === * mysql.rpm === PostgreSQL === * postgresql.rpm === ETC === * coreutils.rpm ( date ) * bzip2.rpm == 스크립트 == {{{#!/bin/bash # 백업할 위치 BACKUP_DIR='/home/backup' # MySQL 세팅 MYSQL_USER='root' MYSQL_PASS='패스워드' MYSQL_HOST='xxx.xxx.xxx.xxx' # PostgreSQL PGSQL_USER='root' PGSQL_PASS='패스워드' PGSQL_HOST='xxx.xxx.xxx.xxx' DATE=`date +"%Y%m%d"` ODATE=`date +"%Y%m%d" --date="a week ago"` ###### MYSQL # 일주일 전 것을 삭제한다. rm -f $BACKUP_DIR/mysql_$ODATE.sql.bz2 # 백업 커맨드 만들기 mysqldump -A -c -q --skip-lock-tables -h $MYSQL_HOST --password=$MYSQL_PASS --user=$MYSQL_USER | bzip2 > $BACKUP_DIR/mysql_$DATE.sql.bz2 ###### PostgreSQL # 일주일 전 것을 삭제한다. rm -f $BACKUP_DIR/pgsql_$ODATE.sql.bz2 # 백업 커맨드 만들기 PGPASSWORD=$PGSQL_PASS pg_dumpall -S $PGSQL_USER -h $PGSQL_HOST | bzip2 > $BACKUP_DIR/pgsql_$DATE.sql.bz2 }}}