#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 }}}