我有一个脚本来备份托管网络服务器上的目录。该目录应压缩约 1GB。
error_reporting(E_ALL);
ini_set('display_errors', 1);
include 'Archive/Tar.php';
$dir = realpath(dirname(__FILE__).'/../../dir_to_zip/');
$archivname = dirname(__FILE__)."/backup_".basename($dir).date('_Y-m-d_His').".tar.gz";
$archiv = new Archive_Tar($archivname, 'gz');
$archiv->createModify($dir, "");
echo 'done';
但是,我通过 Brwoser (Firefox) 和主机的 CronJob 调用脚本,创建了多个存档:
文件 | 尺码 |
---|---|
|
129MB |
|
130MB |
|
135MB |
|
139MB |
|
159MB |
|
140MB |
部分存档每30秒创建一次,非常可疑。似乎来自浏览器的任何“保持活动”/“刷新”一次又一次地启动脚本。
我也很高兴听到压缩大文件的替代方案(我知道,这是一个很常见的问题)。我已经尝试过
ZipArchive
,但是在使用ZipArchive::ER_MULTIDISK
-Method或使用addFile
-method的内存溢出时出现addFromString
异常。