From 9bb4963e8a7b055a921756b9041c8bdefbd8bce4 Mon Sep 17 00:00:00 2001 From: Darko Gjorgjijoski <5760249+gdarko@users.noreply.github.com> Date: Wed, 27 Mar 2024 01:15:49 +0100 Subject: [PATCH] Fixes/backup issues (#51) * Fix: Error related to undefined Backup::size() * Fix: Disable signals if PCNTL isn't loaded to avoid fatal error (Fixes SIGINT is not defined on environments that are missing the PCNTL library) --- app/Http/Controllers/V1/Admin/Backup/BackupsController.php | 2 +- .../Controllers/V1/Admin/Backup/DownloadBackupController.php | 2 +- app/Jobs/CreateBackupJob.php | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/V1/Admin/Backup/BackupsController.php b/app/Http/Controllers/V1/Admin/Backup/BackupsController.php index e5c7897d..d8b04be6 100644 --- a/app/Http/Controllers/V1/Admin/Backup/BackupsController.php +++ b/app/Http/Controllers/V1/Admin/Backup/BackupsController.php @@ -36,7 +36,7 @@ class BackupsController extends ApiController return [ 'path' => $backup->path(), 'created_at' => $backup->date()->format('Y-m-d H:i:s'), - 'size' => Format::humanReadableSize($backup->size()), + 'size' => Format::humanReadableSize($backup->sizeInBytes()), ]; }) ->toArray(); diff --git a/app/Http/Controllers/V1/Admin/Backup/DownloadBackupController.php b/app/Http/Controllers/V1/Admin/Backup/DownloadBackupController.php index 334450d3..8e832e27 100644 --- a/app/Http/Controllers/V1/Admin/Backup/DownloadBackupController.php +++ b/app/Http/Controllers/V1/Admin/Backup/DownloadBackupController.php @@ -41,7 +41,7 @@ class DownloadBackupController extends ApiController $downloadHeaders = [ 'Cache-Control' => 'must-revalidate, post-check=0, pre-check=0', 'Content-Type' => 'application/zip', - 'Content-Length' => $backup->size(), + 'Content-Length' => $backup->sizeInBytes(), 'Content-Disposition' => 'attachment; filename="'.$fileName.'"', 'Pragma' => 'public', ]; diff --git a/app/Jobs/CreateBackupJob.php b/app/Jobs/CreateBackupJob.php index cfb7cab4..841cf829 100644 --- a/app/Jobs/CreateBackupJob.php +++ b/app/Jobs/CreateBackupJob.php @@ -44,6 +44,9 @@ class CreateBackupJob implements ShouldQueue config(['backup.backup.destination.disks' => [$prefix.$fileDisk->driver]]); $backupJob = BackupJobFactory::createFromArray(config('backup')); + if (! defined('SIGINT')) { + $backupJob->disableSignals(); + } if ($this->data['option'] === 'only-db') { $backupJob->dontBackupFilesystem();