如何用php進行資料備份

2021-06-27 05:08:26 字數 1536 閱讀 3308

<?php

class backup

public function backuptables($dbname,$datadir,$tablenames)

//************************以下是形成sql的前半部分**************

//如果存在表,就先刪除

$sqls .= "\ndrop table if exists $tablename;\n\n";

//讀取表結構

trycatch(pdoexception $e)

$row=$rs->fetch();

//獲得表結構組成sql

$sqls.=$row['create table'].";\n\n";

unset($rs);

unset($row);

//************************以下是形成sql的後半部分**************

//查尋出表中的所有資料

$rs=$pdo->query("select * from ".$tablename);

$result=$rs->setfetchmode (pdo::fetch_assoc);

$rows=$rs->fetchall();

$count = $rs->rowcount();

echo '

'.$count.'

';$i = 0;

//$sqls.="insert into $tablename values ";

foreach ($rows as $row)

$sqls.=");\n";

}//$sqls.=";\n";

}$backfilepath=$this->datadir.$database.date("y-m-d",time()).'.sql';

//寫入檔案

$filehandle = fopen($backfilepath, "w");

fwrite($filehandle, $sqls);

fclose($filehandle);

return true;

}public function delarray($array)else

}return $tablelist;

}//end

}global $pdo ;

global $database;

$database = 'test';

$dir='./';

$pdo = new pdo('mysql:host=localhost;dbname='.$database,'root','',

array(pdo::attr_persistent => true,pdo::attr_errmode => pdo::errmode_exception));

if (!$pdo)

$data = new backup($pdo);

$success = $data->backuptables($database,$dir,'*');

if ($success)

rsync sersync進行資料同步備份

sersync功能多 支援配置檔案管理 真正的守護程序 可以對失敗檔案定時重傳 第三方的http介面 預設多執行緒 cdn更新 sercver 192.168.138.131 配置與之前的一樣 client 192.168.138.132 網查參考了很多人家的部落格,然後總結寫出來的 客戶端的配置 ...

mysqldump進行資料庫備份

最近,遇到乙個場景需要對mysql資料庫進行備份,本文記錄一下。1.對整個資料庫備份,包括表結構和資料 格式 mysqldump h資料庫ip u使用者名稱 p 資料庫名 d xx.sql 檔案存放路徑 示例 mysqldump h132.72.192.432 uroot p test home c...

xtrabackup進行資料庫備份

最近需要將線上資料庫的資料同步到線下測試環境,所以在找資料庫同步的方法,發現了xtrabackup這個工具,便想試下是否可行。開源,免費,備份速度快,感覺挺強大有木有,廢話不多說,開始安裝。wget rpm ivh percona release 0.1 4.noarch.rpm yum y nog...