我正在使用此代码备份我的mysql数据库,它可以正常用于我的目的。这个脚本将我的备份保存为.sql文件如何压缩该sql文件。这是代码
$username = "***";
$password = "***";
$hostname = "***";
$database = "***";
$username =escapeshellcmd($username);
$password =escapeshellcmd($password);
$hostname =escapeshellcmd($hostname);
$database =escapeshellcmd($database);
$backupFile=''.date("Y-m-d-H-i-s").$database.'.sql';
$command = "mysqldump -u$username -p$password -h$hostname $database > $backupFile";
system($command, $result);
echo $result;
答案 0 :(得分:4)
只需将输出传递给gzip或类似的
mysqldump -uroot | gzip > backupfile.zip
http://mediakey.dk/~cc/compressing-mysqldump-output-mysql-gzip-bzip2-and-lzma-7z/
答案 1 :(得分:2)
对于纯PHP解决方案,我认为应该这样做:(来自http://www.php.net/manual/en/ziparchive.addfile.php
$z = new ZipArchive();
$z->open("sqldump.zip", ZIPARCHIVE::CREATE);
$z->addFile($backupFile);
$z->close();
答案 2 :(得分:0)
您可以使用tar
tar -cf archive.tar yourfile.sql
:exec()
答案 3 :(得分:0)
只是改变
`$backupFile=''.date("Y-m-d-H-i-s").$database.'.sql';`
到
`$backupFile=''.date("Y-m-d-H-i-s").$database.'.zip';`
或任何其他zip文件类型。这是一个Shell命令,可以保存为许多不同的压缩格式。