在Laravel中创建备份MySql数据库的命令

问题描述 投票:2回答:1

我想备份我的数据库。我正在使用Xampp MySql。用户名是root,密码未设置。我使用命令提示符运行命令,但未显示任何内容。文件夹已创建,但内部没有任何内容。无论过程是成功还是失败,命令提示符都不会输出。

Command

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 --compact --skip-comments -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")
    ));
}

/**
 * Execute the console command.
 *
 * @return mixed
 */
public function handle()
{
    try {
        $this->process->mustRun();
        Log::info('Daily DB Backup - Success');
    } catch (ProcessFailedException $exception) {
        Log::error('Daily DB Backup - Failed');
    }
}
php mysql laravel database-backups laravel-6
1个回答
0
投票

[Laravel中有一个很棒的用于创建备份的软件包:spatie/laravel-backup

© www.soinside.com 2019 - 2024. All rights reserved.