Я беру резервную копию MySQL
БД с пользовательским сгенерированным artisan command
, команда выполняется успешно и также создала файл backup
без ошибок exception
, но файл пуст.
class BackupDatabase extends Command
{
protected $signature = 'db:backup';
protected $description = 'Backup the database';
protected $process;
public function __construct()
{
parent::__construct();
$today = \today()->format('Y-m-d');
if (!\is_dir(\storage_path('backups'))) {
\mkdir(\storage_path('backups'));
}
$this->process = new Process(sprintf(
'mysqldump -u%s -p%s %s > %s',
config('database.connections.mysql.username'),
config('database.connections.mysql.password'),
config('database.connections.mysql.database'),
storage_path("backups/{$today}.sql")
));
}
public function handle()
{
try {
$this->process->run();
$this->info('The backup has been proceed successfully.');
} catch (ProcessFailedException $exception) {
$this->error('The backup process has been failed.', $exception);
}
}
}