(Category) (Category) WebGUI FAQ :
Backup, Care for your WebGUI installation
Subcategories:

Answers in this category:
(Answer) MySQL Backup procedures?
(Answer) MySQL backup and table maintenance script (FreeBSD specific)

[New Answer in "Backup, Care for your WebGUI installation"]
(Answer) (Category) WebGUI FAQ : (Category) Backup, Care for your WebGUI installation :
MySQL Backup procedures?
mysqldump -a is great, but sometimes you just want a bunch of individually reinstallable dbs. Here's a standard way to do it:

Create a table list of databases:

 mysql -uroot -ppass -B -e "show databases;" | grep -v "Database" > dbs

Edit this list appropriately

Create two batch files:

backitallup:

 #!/usr/local/bin/bash
 for i in `cat dbs`; do ./backitup $i; done
 tar -zcf servername_sql-backups_`date +%Y_%m_%d`.tar.gz *.sql
 rm *.sql
backitup:
 #!/bin/sh
 echo Backing up $1 ...
 mysqldump -uuser -ppass -Q $1 > $1.sql
The -Q (quote) is optional, but can get past some sites that mysqldump might balk because of spaces in names or something.

I got this from a comment: at http://www.wilshireone.com/article/2/automatic-mysql-backups

wg-fomATgwyDOTorg

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Backup, Care for your WebGUI installation :
MySQL backup and table maintenance script (FreeBSD specific)
#!/bin/sh
#
# Define these variables in either /etc/periodic.conf or
# /etc/periodic.conf.local to override the default values.
#
# daily_mysql_backup_enable="YES" # do backup
# daily_mysql_maintenance_enable="YES" # perform maintenance

daily_mysql_backup_enable="NO"
daily_mysql_maintenance_enable="NO"

daily_mysql_mysqldump_args="--opt"
daily_mysql_backupdir="/data/mysql_backups"
daily_mysql_savedays="7"
daily_mysql_maintenance_args="-c -a --auto-repair -o -e -A -v"

mysql_user="user"
mysql_password="password"

# If there is a global system configuration file, suck it in.
#
if [ -r /etc/defaults/periodic.conf ]
then
    . /etc/defaults/periodic.conf
    source_periodic_confs
fi

# allow '~´ in dir name
eval backupdir=${daily_mysql_backupdir}

rc=0

case "$daily_mysql_backup_enable" in
    [Yy][Ee][Ss])

        # daily_mysql_backupdir must be writeable by user mysql
        if [ ! -d ${backupdir} ] ; then
            echo Creating ${backupdir}
            mkdir ${backupdir}; chmod 700 ${backupdir}; chown mysql ${backupdir}
        fi

        echo
        echo "MySQL maintenance"

        # Protect the data
        umask 077
        dbnames=`su -l mysql -c "mysql -u ${mysql_user} -p'${mysql_password}' -B -e \"SHOW DATABASES;\" | \
                grep -v Database | grep -v information | grep -v schema | grep -v test"`
        rc=$?
        now=`date "+%Y-%m-%dT%H:%M:%S"`
        file=${daily_mysql_backupdir}/myglobals_${now}
        su -l mysql -c "mysqldump -A ${daily_mysql_mysqldump_args} -u ${mysql_user} -p'${mysql_password}' | gzip -9 > ${file}.gz" 
        for db in ${dbnames}; do   
            echo -n " $db"
            file=${backupdir}/mysqldump_${db}_${now}
            su -l mysql -c "mysqldump ${daily_mysql_mysqldump_args} -u ${mysql_user} -p'${mysql_password}' ${db} | gzip -9 > ${file}.gz" 
            [ $? -gt 0 ] && rc=3
        done

        if [ $rc -gt 0 ]; then
            echo
            echo "Errors were reported during backup."
        fi
 
        # cleaning up old data
        find ${backupdir} \( -name 'mysqldump_*' -o -name 'myglobals_*' \) \
                -a -mtime +${daily_mysql_savedays} -delete
        ;;
esac

echo ""

case "$daily_mysql_maintenance_enable" in     
    [Yy][Ee][Ss])
          
        echo
        echo "Performing Maintenance..."
        su -l mysql -c "mysqlcheck ${daily_mysql_maintenance_args} -u ${mysql_user} -p'${mysql_password}'"
        if [ $? -gt 0 ]   
        then
            echo
            echo "Errors were reported during the maintenance."
            rc=3
        fi
        ;;
esac

echo ""

exit $rc
brandt_21sATyahooDOTcom
[Append to This Answer]
Previous: (Category) WebGUI 7.0 Questions
Next: (Answer) Is there any free support in WebGUI?
This document is: http://www.gwy2.org/cgi-bin/fom?file=105
[Search] [Appearance] [Show Top Category Only]
This is a Faq-O-Matic 2.719.
This FAQ administered by ... Gerald Young