On Wednesday 22 November 2006 15:49, Edward Kay wrote:
> This is similar to mine, except I use a shell script.
>
> Also, instead of emailing the file, my script FTPs it to a remote server. I
> expect this approach would scale better as the file size increases.
>
> Another point to note: my email is hosted on the same server as the DB.
> Emailing it to myself wouldn't offer any more protection than just saving
> it locally. (My remote FTP location is in a different continent!)
>
> Edward

Shell script with ftp works pretty decent for me 2.




>
> > -----Original Message-----
> > From: Brad Fuller [mailto:[EMAIL PROTECTED]
> > Sent: 22 November 2006 14:28
> > To: 'PHP General List'
> > Subject: RE: [PHP] backing up a database
> >
> >
> >
> > Here is a script that I found that has been working well for me.
> > I set up a
> > cron job to run this file every night just after midnight.  It e-mails a
> > gzipped sql dump file as an attachment to the specified e-mail address.
> >
> > Right now the database this is backing up is not very big. I'm
> > not sure how
> > scalable it is (probably not very).
> >
> > Suggestions/improvements are welcome.
> >
> > <?php
> >     set_time_limit(0);
> >     ini_set("memory_limit", "500M");
> >
> >     $dbhost = 'localhost';
> >     $dbuser = 'username';
> >     $dbpass = 'password';
> >     $dbname = 'database';
> >
> >     $backupDir = '/backups/';
> >     $backupFileName = $dbname . date("Y-m-d-H-i-s") . '.sql.gz';
> >     $backupFile = $backupDir . $backupFileName;
> >
> >     $command = "mysqldump -u $dbuser -p$dbpass $dbname | gzip >
> > $backupFile";
> >
> >     system($command);
> >
> >
> >
> >     $email_from = "[EMAIL PROTECTED]"; // Who the email is from
> >     $email_subject = "MySQL Backup ".date("m/d/Y", time()); // The
> > Subject of the email
> >     $email_txt = "Your file is attached."; // Message that the email has
> > in it
> >
> >     $email_to = "[EMAIL PROTECTED]"; // Who the email is to
> >
> >     $headers = "From: ".$email_from;
> >
> >     $file = fopen($backupFile,'rb');
> >     $data = fread($file,filesize($backupFile));
> >     fclose($file);
> >
> >     $semi_rand = md5(time());
> >     $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
> >
> >     $headers .= "\nMIME-Version: 1.0\n" .
> >                             "Content-Type: multipart/mixed;\n" .
> >                             " boundary=\"{$mime_boundary}\"";
> >
> >     $email_message .= "This is a multi-part message in MIME format.\n\n"
> > .
> >                                     "--{$mime_boundary}\n" .
> >                                     "Content-Type:text/html;
> > charset=\"iso-8859-1\"\n" .
> >                                "Content-Transfer-Encoding: 7bit\n\n" .
> >     $email_txt . "\n\n";
> >
> >     $data = chunk_split(base64_encode($data));
> >
> >     $email_message .= "--{$mime_boundary}\n" .
> >                                       "Content-Type:
> > application/octet-stream;\n" .
> >                                       " name=\"{$backupFileName}\"\n" .
> >
> >                                       "Content-Transfer-Encoding:
> > base64\n\n" .
> >                                      $data . "\n\n" .
> >                                       "--{$mime_boundary}--\n";
> >
> >     $ok = @mail($email_to, $email_subject, $email_message, $headers);
> >
> >     if($ok) {
> >     echo date("Y-m-d H:i:s") . "  Operation completed.\n";
> >     } else {
> >     die(date("Y-m-d H:i:s") . "  Operation failed - The e-mail could not
> > be sent.\n");
> >     }
> > ?>
> >
> > > -----Original Message-----
> > > From: Edward Kay [mailto:[EMAIL PROTECTED]
> > > Sent: Wednesday, November 22, 2006 5:25 AM
> > > To: PHP General List
> > > Subject: RE: [PHP] backing up a database
> > >
> > > If you're using MySQL, set up a cron job/scheduled task to call
> >
> > mysqldump
> >
> > > and save the output somewhere. Other DBMSs will likely have
> >
> > similar tools.
> >
> > > Edward
> > >
> > > > -----Original Message-----
> > > > From: Ross [mailto:[EMAIL PROTECTED]
> > > > Sent: 22 November 2006 09:54
> > > > To: php-general@lists.php.net
> > > > Subject: [PHP] backing up a database
> > > >
> > > >
> > > > I have a database and it needs to get backed up on a daily basis.
> > > > Is there a
> > > > class that allows me to create a backup and then save it as a
> > > > .sql or excel
> > > > or both to a folder of her choice?
> > > >
> > > >
> > > > R.
> > > >
> > > >
> > > > --
> > > > 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
> >
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php

-- 
---
Børge
Kennel Arivene 
http://www.arivene.net
---

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

Reply via email to