MySQL 資料庫並自動備份

2021-09-29 11:09:12 字數 1778 閱讀 6563

<?php

//每天早上備份一次 mysql 資料庫並自動打包,同時刪除 5 天前的備份檔案  建議在本地執行沒有任何問題再傳到伺服器上 以後就可以新增計畫任務

*///儲存目錄,路徑要用反斜槓.您需要手動建立它.

要把壓縮包的exe檔案跟當前執行頁面放在同乙個目錄,當然你也可以自己配置,這樣才能壓縮

ini_set("max_execution_time", "0");//**執行時間不限制  防止備份失敗

ini_set('memory_limit', '128m');//設定記憶體 根據需求可以修改

date_default_timezone_set("prc");

$store_folder = 'd:\databse_backup';

if(!file_exists($store_folder)) 

//使用者名稱和密碼

//該帳號須有操作[所有]的資料庫及file的許可權

//否則有些資料庫不能備份.

$db_username = "root";

$db_password = "root";

$time=time();

$nowdir = $store_folder."\\".date("ymd",$time)."";

$con = mysqli_connect("localhost", "root", "root");

if(!file_exists($nowdir)) 

if(!$con) 

echo "正在備份請勿關閉頁面....

";ob_flush();  

flush();  

sleep(1); 

//資料庫執行檔案位址 

// $mysqladdres='d:\phpstudy\mysql\bin\mysqldump.exe';//我的伺服器是 phpmystudy  根據自己的情況設定

$mysqladdres='d:\phpstudy\phptutorial\mysql\bin\mysqldump.exe';//我的伺服器是 phpmystudy  根據自己的情況設定

$res = mysqli_query($con,'show databases');

$data = array();

echo str_repeat(" ", 4096);   //防止瀏覽器的快取

while ($row = mysqli_fetch_assoc($res))

".($db_password?"-p":"")." > $nowdir\\$row[database].sql");

echo "dumping database `$row[database]`...

";ob_flush();  

flush();  

sleep(1); 

}echo "\nwinrar loading...

";system( dirname(__file__)."\\winrar.exe a -ep1 -r -o+ -m5 -df \"$nowdir.rar\" \"$nowdir\" " );

$rar="$store_folder\\".date("ymd",$time-86400*5).".rar";

//刪除 5 天前的檔案

if(file_exists($rar))

ob_flush();  

flush();  

sleep(1); 

echo "\nok!

";mysqli_close($con);

ob_end_flush(); 

?>

linux 自動備份MySQL資料庫,並郵件傳送

的資料是最重要的,需要我們定期備份,接下來為大家說的就是 定期 自動 備份mysql資料庫,並且壓縮後以郵箱傳送 大概步驟就是 1 確保 安裝了 sendmail 和 mutt 包 沒有安裝的話,先安裝好,再進行下面的操作 2 新建指令碼檔案,備份資料庫,打包檔案,郵件傳送 的 3 先手動執行指令碼...

mysql資料庫自動備份 mysql資料庫自動備份

通過簡單的設定,可以讓mysql資料庫備份自動化.減少維護的工作量 一 對於windows主機 假想環境 mysql 安裝位置 c mysql 論壇資料庫名稱為 bbs mysql root 密碼 123456 資料庫備份目的地 d db backup echo off c mysql bin my...

mysql 資料庫自動備份

1 把下面的 放到記事本txt檔案當中,在把檔案.txt副檔名改為.bat。2 下面的 中修改相應的引數 紅色部分 3 使用系統的任務計畫做乙個每一天啟動這個bat檔案的任務,完成備份。開始 for f tokens 1 delims i in date t do set dt i for f to...