:
: <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