我是一个有用的助手,可以为您翻译内容。以下是您需要翻译的 IT 技术相关内容:
我正在为我的项目创建一个备份脚本,它将通过 cron 执行。
现在我正在使用:
<?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");
}
?>
但是我想使用纯PHP创建MySQL Dump,以使其更兼容,并能够在其他服务器上使用,其中无法使用system
和mysqldump
的方法。
我希望您知道一种解决方案,而不使用150个文件库:)
问候, 弗雷德里克
PHPMyAdmin
多年来一直在使用PHP进行此操作,但这一直是问题的源泉。 - lanzz