Я знаю, что можно запланировать запуск команд с заданиями laravel и cron, моя цель состоит в том, чтобы создать команду для резервного копирования моих баз данных sql в мой домашний каталог внутри моего VPS, в примере, который я нашел, используется путь хранения laravel для удаления резервных копий, но мне было интересно, как я могу выбрать другой файл вне папки моего приложения laravel (например, моего домашнего каталога пользователя), возможно ли это сделать?
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Symfony\Component\Process\Process;
use Symfony\Component\Process\Exception\ProcessFailedException;
class BackupDatabase extends Command
{
protected $signature = 'db:backup';
protected $description = 'Backup the database';
protected $process;
public function __construct()
{
parent::__construct();
$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/backup.sql')
));
}
public function handle()
{
try {
$this->process->mustRun();
$this->info('The backup has been proceed successfully.');
} catch (ProcessFailedException $exception) {
$this->error('The backup process has been failed.');
}
}
}