thanks Morgan,

i am sure your script will do a great job... unfortunately, crontab returns
/bin/mail permission denied... and i cant chage system settings because i am
not the WSP (or ISP)

actually... i am thinking of something really silly.. but it will work
surely... and that is to use "SELECT *" then use a loop to format the
results into a database dump (data and structure) and then email the content
to myself. how's that?

-----Original Message-----
From: Morgan Hughes [mailto:[EMAIL PROTECTED]]
Sent: Sunday, November 24, 2002 12:35 PM
To: PHP
Subject: RE: [PHP] getting mysql dump using php


On Sun, 24 Nov 2002, Rich Gray wrote:

> Answer is No. 2)
> Use cron to run the mysqldump utility instead of a php script.
> Let me know if you need more info.

  I use this one with crontab, it works pretty well, if your email program
  can handle uuencode:


#!/bin/sh
# File    : db_backup.sh
# Descript: Runs a ful mysqldump of one or more MySQL databases, uuencodes
#           and compresses them, and mails them to a specified address.
#           Requires mysqldump, gzip, uuencode, mail or mailx, and crontab.
#
#           Normally this run from crontab, with an entry like:
#             0 3 * * * sh ~/db_backup
#
# Version : 1.00
# Author  : Morgan Hughes ([EMAIL PROTECTED])
# License : Copyright (C) 2002, Morgan Hughes.  Use freely.


# Account/password/email info
db_list="your_database"
db_user="your_username"
db_pass="your_password"
email="your_email_addy"

# program locations
mysqldump="mysqldump"
dump_opts=""
uuencode="uuencode"
gzip="gzip"
mail="mail"

# Actual code
for db_name in $db_list ; do

        date=`date '+%Y%m%d-%H%M%S'`
        $mysqldump $dump_opts -u $db_user "--password=$db_pass" $db_name | \
        $gzip -c9 | $uuencode "$db_name-$date.sql.gz" | \
        $mail -s "DB backup, $db_name, $date" $email

done

# Ends    : db_backup.sh



  At home I have a script plugged into .procmailrc with an entry like:

# First off, catch inbound automated backups.
:0
* ^Subject: DB backup, kyhm
| ~/bin/catch_backup ~/kyhm.com/backups/db



  The ~/bin/catch_backup script is as follows:

#!/bin/sh
if [ "$1" != "" -a -d "$1" ] ; then
        cd "$1"
else
        cd ~
fi
cat | uudecode



  Hope this is useful...

--
   Morgan Hughes
   C programmer and highly caffeinated mammal.
   [EMAIL PROTECTED]
   ICQ: 79293356



--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to