data = $data; } /** * Assemble the backup task, narrow it to the requested option and run it. */ public function handle(): void { $job = BackupJobFactory::createFromConfig( BackupConfigurationFactory::make($this->data) ); if (! defined('SIGINT')) { $job->disableSignals(); } $option = $this->data['option']; if ($option === 'only-db') { $job->dontBackupFilesystem(); } if ($option === 'only-files') { $job->dontBackupDatabases(); } if (! empty($option)) { $job->setFilename(str_replace('_', '-', $option).'-'.date('Y-m-d-H-i-s').'.zip'); } $job->run(); } }