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;
}
}