MySQL 자동 백업소스

cron 으로 mysql 백업받는 소스. 그러나 알아도 이것을 안 쓰는 이유는?
^^…… 후배가 게을러 지기 때문입니다.

cron을 잘 이용해 보면, 관리자 없이도 잘 사는 웹서버를 만들 수 있지 않
을까 하는 생각도 들기는 드는데 말이죠….. 쿠쿠쿠…… 그런데 쓰시
는 법을 모르시는 분을 위해 사용법을 말하자면….. /etc/cron.daily 밑
에 복사해주시고….. 실행 권한 주시면 됩니다.

—— /etc/cron.daily/mysqlcump.cron ——————-
#!/bin/sh
#
#
## Chilbong, Kim
## 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

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.