Stream data of backup for less memory usage

This commit is contained in:
Tim
2023-09-29 11:28:55 +02:00
parent 0a2a06fb8a
commit 4af4717785
2 changed files with 13 additions and 4 deletions

View File

@ -21,15 +21,22 @@ class BackupService
$fileName = sprintf('%s_%s_backup.sql', $db, $date);
}
$filesystem = new Filesystem();
$process = new Process([
'mysqldump',
'-u', $this->credentials->getUser(),
$db,
]);
$process->setEnv(['MYSQL_PWD' => $this->credentials->getPassword()]);
$process->run();
$filesystem->dumpFile($fileName, $process->getOutput());
$process->start();
$stream = fopen($fileName, 'w+');
foreach ($process as $type => $data) {
if ($process::OUT === $type) {
fwrite($stream, $data);
} else { // $process::ERR === $type
echo "\nError: " . $data;
}
}
return $fileName;
}