簡體   English   中英

PHP和MySQL-如何使用mysqldump備份數據庫並將其發送到使用PHP的電子郵件地址的邏輯是什么?

[英]PHP & MySQL - What is the logic on how to use mysqldump to backup your database and send it to an email address using PHP?

我想知道如何使用mysqldump備份數據庫並將數據使用PHP發送到電子郵件地址嗎?

這需要phpmailer

<?php

   require("class.phpmailer.php");

   header("Content-type: text/plain");

   // --- MySQL et path --------------------------------------------------------
   $mysql_host     = 'XXXXXXX';
   $mysql_username = 'XXXXXXX';
   $mysql_password = 'XXXXXXX';
   $mysql_db       = 'XXXXXXX';
   $mail_to1        = 'XXXXXXXXXXXXXXXXXXXX';
   $mail_to1_name   = 'XXXXXXXXX';
   $mail_to2        = 'XXXXXXXXXXXXXXXXXXXX';
   $mail_to2_name   = 'XXXXXXXXX';
   // --------------------------------------------------------------------------


   $fname = '' . $mysql_db . '_' . strftime('%Y%m%d-%H%M%S') . '.sql.gz';
   echo "Backing up to $fname\n";
   system('mysqldump --host=' . $mysql_host . ' --user=' . $mysql_username . 
        ' --password=' . $mysql_password . ' ' . $mysql_db . ' | gzip >' . 
        $fname);

   $mail = new PHPMailer();
   $mail->SetLanguage("en", "language/");
   $mail->From = 'XXXXXXXXXXXXXXXXXXXXXX';
   $mail->FromName = 'Webmaster';
   $mail->AddAddress($mail_to1, $mail_to1_name);
   $mail->AddAddress($mail_to2, $mail_to2_name);
   $mail->WordWrap = 50;         // set word wrap to 50 characters
   $mail->IsHTML(false);         // set email format to plain text
   $mail->Subject = '[XXX] Backup MySQL - ' . strftime('%x %X');
   $mail->Body    = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';

   if (!$mail->AddAttachment($fname)) // add attachments
   {
      echo 'Erreur : ' . $mail->ErrorInfo . "\n";
      $mail->Body .= "\n" . 'Erreur : ' . $mail->ErrorInfo;
   }

   if (!$mail->Send())
   {
      echo 'Message could not be sent. <p>';
      echo 'Mailer Error: ' . $mail->ErrorInfo;
      exit;
   }

   echo 'Message has been sent';
   unlink($fname);
   exit;

?>

在某些BDD上使用(主機僅提供一些php腳本作業,無cron),並且郵件被發送到gmail。 您可以在gzip中添加-9或使用bzip獲得更好的壓縮效果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM