public function handle() { consoleOutput()->comment('Starting backup...'); try { $this->guardAgainstInvalidOptions(); $backupJob = BackupJobFactory::createFromArray(config('laravel-backup')); if ($this->option('only-db')) { $backupJob->dontBackupFilesystem(); } if ($this->option('only-files')) { $backupJob->dontBackupDatabases(); } if ($this->option('only-to-disk')) { $backupJob->onlyBackupTo($this->option('only-to-disk')); } if ($this->option('filename')) { $backupJob->setFilename($this->option('filename')); } $backupJob->run(); consoleOutput()->comment('Backup completed!'); } catch (Exception $exception) { consoleOutput()->error("Backup failed because: {$exception->getMessage()}."); event(new BackupHasFailed($exception)); return -1; } }
public function handle() { consoleOutput()->comment('Starting cleanup...'); try { $config = config('laravel-backup'); $backupDestinations = BackupDestinationFactory::createFromArray($config['backup']); $strategy = app($config['cleanup']['strategy']); $cleanupJob = new CleanupJob($backupDestinations, $strategy); $cleanupJob->run(); consoleOutput()->comment('Cleanup completed!'); } catch (Exception $exception) { event(new CleanupHasFailed($exception)); return -1; } }
public function run() { $this->backupDestinations->each(function (BackupDestination $backupDestination) { try { if (!$backupDestination->isReachable()) { throw new Exception("Could not connect to disk {$backupDestination->diskName()} because: {$backupDestination->connectionError()}"); } consoleOutput()->info("Cleaning backups of {$backupDestination->backupName()} on disk {$backupDestination->diskName()}..."); $this->strategy->deleteOldBackups($backupDestination->backups()); event(new CleanupWasSuccessful($backupDestination)); $usedStorage = Format::humanReadableSize($backupDestination->usedStorage()); consoleOutput()->info("Used storage after cleanup: {$usedStorage}."); } catch (Exception $exception) { consoleOutput()->error("Cleanup failed because: {$exception->getMessage()}."); event(new CleanupHasFailed($exception)); } }); }
protected function copyToBackupDestinations(string $path) { $this->backupDestinations->each(function (BackupDestination $backupDestination) use($path) { try { consoleOutput()->info("Copying zip to disk named {$backupDestination->diskName()}..."); $backupDestination->write($path); consoleOutput()->info("Successfully copied zip to disk named {$backupDestination->diskName()}."); event(new BackupWasSuccessful($backupDestination)); } catch (Exception $exception) { consoleOutput()->error("Copying zip failed because: {$exception->getMessage()}."); event(new BackupHasFailed($exception, $backupDestination ?? null)); } }); }
/** * Delete the backup from the disk. */ public function delete() { $this->disk->delete($this->path); consoleOutput()->info("Deleted backup `{$this->path}`."); }