#!/bin/sh # # ## Chilbong, Kim ## 2001.03.01(1) ## 2001.03.03(2) ## ## http://www.linuxchannel.net ## ## ## This SHELL script : $EACH DB dump to $EACH.sql. ## ################################################### ## ## 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" ## ## not include DB list ? not_dump_db="test|test2" ## ## 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 "(${not_dump_db}|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_connect $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 ## All DB dump to one file(.sql) !!!! ## Verbal advice --> LSN tip board : 'lubzzon' ## --all-databases > all_db.sql ## for mysql_DB in $mysql_DBs ; do mysql_dump_work $mysql_DB done #chmod 600 $mysql_backupdir #chown root mysql_backupdir fi exit 0