<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.6.2">
</HEAD>
<BODY>
Chase. here is the Perl script I use to backup database dumps through ssh connection, I think you might find it useful.<BR>
<BR>
cheers.<BR>
<BR>
B<BR>
<BR>
#!/usr/bin/perl<BR>
# Little script that dumps the sql databases and rsync them to the<BR>
# backup server through an ssh connection, a rolling backup of seven<BR>
# days is kept.<BR>
# Use the following in your daily cron. (/etc/cron.daily) providing<BR>
# that this file is saved in /root/<BR>
#<BR>
#&nbsp;&nbsp; #!/bin/bash<BR>
#&nbsp;&nbsp; /root/sql_dump.pl | mail -s &quot;Daily MySQL Backup&quot; <A HREF="mailto:admin@sharpnet.co.uk">admin@sharpnet.co.uk</A><BR>
#<BR>
# Written by G.Serex Sharpnet Internet Solutions Ltd. (c) 2003<BR>
<BR>
# var definitions<BR>
<BR>
# root username<BR>
$username = &quot;root&quot;;<BR>
<BR>
# root password<BR>
$password = &quot;hehe&quot;;<BR>
<BR>
# where the list of dbs will go.<BR>
$dbfile = &quot;mysql_dbs&quot;;<BR>
<BR>
# the dumped files path .&nbsp; (absolute path + trailing / please)<BR>
<BR>
$dumped_dbs_path = &quot;/tmp/&quot;;<BR>
<BR>
# the dumped files tar archive name<BR>
<BR>
$mysql_dumped = &quot;mysql_dumped_archive.tgz&quot;;<BR>
<BR>
# the remote host name<BR>
<BR>
$remotehost = &quot;backups.box.com&quot;;<BR>
<BR>
# The remote path&nbsp;&nbsp; (absolute path + trailing / please)<BR>
<BR>
$remotepath = &quot;/backup-space/mysql/&quot;;<BR>
<BR>
#________________ E N D _ V A R _ D E F S. ____________________________<BR>
<BR>
# first check and optimise the lot.<BR>
<BR>
system(&quot;/usr/bin/mysqlcheck --optimize --all-databases --auto-repair -u $username -p$password&quot;);<BR>
<BR>
# Dump the datbase list into $dbfile<BR>
<BR>
system(&quot;/usr/bin/mysql -u $username -p$password -e \&quot;show databases\&quot; &gt; $dumped_dbs_path$dbfile&quot;);<BR>
<BR>
# open the $outfile again<BR>
<BR>
open (MSQL_DB_LIST, &quot;$dumped_dbs_path$dbfile&quot;) or die &quot;Cannot open $dumped_dbs_path$dbfile: $!&quot;;<BR>
<BR>
while (&lt;MSQL_DB_LIST&gt;) {<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chop $_;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #ignore the db list header ( Database )<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; next if ($_ =~ /^Database$/);<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print &quot;Now writing $_ database...\n&quot;;<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # dump the content of the&nbsp; database into a file<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; system(&quot;/usr/bin/mysqldump -u $username -p$password --flush-logs --opt $_ &gt; $dumped_dbs_path$_.dump&quot;);<BR>
<BR>
}<BR>
close (MSQL_DB_LIST);<BR>
<BR>
# delete the file<BR>
unlink &quot;$dumped_dbs_path$dbfile&quot;;<BR>
<BR>
#get the day:<BR>
<BR>
$today = (sun,mon,tue,wed,thu,fri,sat)[(localtime)[6]];<BR>
<BR>
# compress the datas in a tgz with the day at the beginning<BR>
system(&quot;cd $dumped_dbs_path; /bin/tar -zcf $dumped_dbs_path$today\_$mysql_dumped *.dump&quot;);<BR>
<BR>
# rsync them to the backup server<BR>
<BR>
system(&quot;/usr/bin/rsync -e ssh -avz $dumped_dbs_path$today\_$mysql_dumped $remotehost:$remotepath&quot;);<BR>
<BR>
#remove the dumped file.<BR>
unlink &lt;$dumped_dbs_path\*.dump&gt;;<BR>
<BR>
# remove the backup file locally<BR>
<BR>
unlink &quot;$dumped_dbs_path$today\_$mysql_dumped&quot;;<BR>
<BR>
print &quot;database backup complete\n&quot;;<BR>
exit;<BR>
<BR>
<BR>
On Mon, 2005-10-10 at 13:21 +0100, Chase wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
<FONT COLOR="#000000">Hay, all</FONT>
<FONT COLOR="#000000">   Im trying to get a nice easy backup script working. Zeedo talked about  </FONT>
<FONT COLOR="#000000">somthing at the meeting but ken now i gone and forgot! So i started  </FONT>
<FONT COLOR="#000000">writing my own. Does anyone know how to get a MySQL dump of a database,  </FONT>
<FONT COLOR="#000000">without having to type and thing in to any prompts? its gona be for a  </FONT>
<FONT COLOR="#000000">automated script, so i can have it asking me for a users password!</FONT>
<FONT COLOR="#000000">   Cheers all</FONT>

</PRE>
</BLOCKQUOTE>
</BODY>
</HTML>