- UID
- 18906
- 最後登錄
- 1970-1-1
- 精華
- 閱讀權限
- 10
- 積分
- 21
- 金錢
- 元
- 威望
- 點
- 貢獻
- 點
|
馬上註冊,結交更多好友,享用更多功能,讓你輕鬆玩轉社區。
您需要 登錄 才可以下載或查看,沒有帳號?註冊
x
- <?php
- // 設定資料庫變數
- $dbhost = 'localhost'; // MySQL伺服器位置 (資料庫放同主機則不需更動)
- $dbuser = 'your_username'; // MySQL資料庫使用者名稱
- $dbpass = 'yourpass'; // MySQL資料庫登入密碼
- $dbname = 'database_name'; // 資料庫名稱
- // 選擇性設定
- $use_gzip = "yes"; // 是否需要gzip壓縮 (建議壓縮)
- $remove_sql_file = "yes"; // 壓縮後是否刪除原本的sql檔, 建議刪除
- $remove_gzip_file = "no"; // 是否需要刪除gzip檔案, 建議不刪除 (除非空間很大, 否則建議刪除)
- // 設定路徑
- $savepath = "/www/htdocs/dbsender"; // 檔案放置目錄完整路徑, 最後不加斜線 (cpanel通常使用者主目錄在/home/使用者帳號)
- $send_email = "yes"; // 是否用e-mail傳檔, 若是請填下列兩行
- $to = "you@yourdomain.com"; // 收信人
- $from = "r00t@yourdomain.com"; // 寄信人 (可填不用的信箱, 幫助信件自動分類)
- $senddate = date("j F Y");
- $subject = "MySQL Database Backup - $senddate"; // 信件標題 ($senddate是加入日期)
- $message = "Your MySQL database has been backed up and is attached to this email"; // 信件內容
- $use_ftp = "yes"; // 是否上傳至FTP伺服器, 若是請填下列四行
- $ftp_server = "localhost"; // FTP位置 (例如ftp.server.com)
- $ftp_user_name = "ftp_username"; // FTP帳號
- $ftp_user_pass = "ftp_password"; // FTP密碼
- $ftp_path = "/"; // 上傳至FTP的路徑
- // 以下的部份不用更改
- $date = date("mdy-hia");
- $filename = "$savepath/$dbname-$date.sql";
- passthru("mysqldump --opt -h$dbhost -u$dbuser -p$dbpass $dbname >$filename");
-
- if($use_gzip=="yes"){
- $zipline = "tar -czf ".$dbname."-".$date."_sql.tar.gz $dbname-$date.sql";
- shell_exec($zipline);
- }
- if($remove_sql_file=="yes"){
- exec("rm -r -f $filename");
- }
-
- if($use_gzip=="yes"){
- $filename2 = "$savepath/".$dbname."-".$date."_sql.tar.gz";
- } else {
- $filename2 = "$savepath/$dbname-$date.sql";
- }
-
-
- if($send_email == "yes" ){
- $fileatt_type = filetype($filename2);
- $fileatt_name = "".$dbname."-".$date."_sql.tar.gz";
-
- $headers = "From: $from";
-
- // Read the file to be attached ('rb' = read binary)
- $file = fopen($filename2,'rb');
- $data = fread($file,filesize($filename2));
- fclose($file);
-
- // Generate a boundary string
- $semi_rand = md5(time());
- $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
-
- // Add the headers for a file attachment
- $headers .= "\nMIME-Version: 1.0\n" ."Content-Type: multipart/mixed;\n" ." boundary="{$mime_boundary}"";
-
- // Add a multipart boundary above the plain message
- $message = "This is a multi-part message in MIME format.\n\n" ."--{$mime_boundary}\n" ."Content-Type: text/plain; charset="iso-8859-1"\n" ."Content-Transfer-Encoding: 7bit\n\n" .
- $message . "\n\n";
-
- // Base64 encode the file data
- $data = chunk_split(base64_encode($data));
-
- // Add file attachment to the message
- $message .= "--{$mime_boundary}\n" ."Content-Type: {$fileatt_type};\n" ." name="{$fileatt_name}"\n" ."Content-Disposition: attachment;\n" ." filename="{$fileatt_name}"\n" ."Content-Transfer-Encoding: base64\n\n" .
- $data . "\n\n" ."--{$mime_boundary}--\n";
-
- // Send the message
- $ok = @mail($to, $subject, $message, $headers);
- if ($ok) {
- echo "<h4><center>Database backup created and sent! File name $filename2</center></h4>";
- } else {
- echo "<h4><center>Mail could not be sent. Sorry!</center></h4>";
- }
- }
-
- if($use_ftp == "yes"){
- $ftpconnect = "ncftpput -u $ftp_user_name -p $ftp_user_pass -d debsender_ftplog.log -e dbsender_ftplog2.log -a -E -V $ftp_server $ftp_path $filename2";
- shell_exec($ftpconnect);
- echo "<h4><center>$filename2 Was created and uploaded to your FTP server!</center></h4>";
-
- }
-
- if($remove_gzip_file=="yes"){
- exec("rm -r -f $filename2");
- }
- ?>
複製代碼 呢個係資料庫自動備份php
點點備一次????
係咪run 一次 就備一次? |
|