我正在爲我的項目創建備份腳本,該腳本將通過cron執行。在純PHP5中創建MySQL轉儲
現在我使用:
<?php
include("config.php");
/* Misc */
$pathtobackup = realpath('.');
$backupfolder = realpath("backup");
$sqlfilename = "SQLDUMP-".date("d-m-Y--H-i").".sql";
$backupfilename = "BACKUP-".date("d-m-Y--H-i").".zip";
$backupfilepath = $backupfolder."/".$backupfilename;
/* Systemcall */
exec("/usr/bin/mysqldump -u{$mysqluser} -p{$mysqlpw} -h {$mysqlserver} {$mysqldb}", $sqldata, $fp);
$sqldump = implode("\n", $sqldata);
if ($fp!=0){
die("could not create mysql dump\n");
}
/* Create Zip */
$zip = new ZipArchive();
if ($zip->open($backupfilepath, ZIPARCHIVE::CREATE)!==TRUE) {
die("cannot open <{$backupfilepath}>\n");
}
$path = realpath('.');
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($pathtobackup, FilesystemIterator::SKIP_DOTS));
foreach($iterator as $name=>$object){
$zip->addFile($name);
}
$zip->addFromString($sqlfilename, $sqldump);
if ($zip->close()!==TRUE) {
die("cannot write <{$backupfilepath}>\n");
}
?>
但我想創建MySQL與純PHP轉儲,使其更加兼容,並能夠使用它在其它服務器上也是如此,那裏沒有使用方法system
和mysqldump
。
我希望你知道使用150文件libary :)
問候, 弗雷德裏克
我會建議反對,因爲轉儲數據庫是一個不那麼這是一項平凡的任務,並且對此提出質疑並不能真正激發人們的信心。舉個例子,'PHPMyAdmin'多年來一直在PHP中使用它,這一直是問題的來源。 – lanzz