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;
     }
 }
Exemple #3
0
 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));
         }
     });
 }
Exemple #4
0
 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));
         }
     });
 }
Exemple #5
0
 /**
  * Delete the backup from the disk.
  */
 public function delete()
 {
     $this->disk->delete($this->path);
     consoleOutput()->info("Deleted backup `{$this->path}`.");
 }