下面是一些背景信息:

  • 运行Laravel 10和SPATIE Backup V8;

  • 管理员应该能够 Select (此 Select 将存储在数据库中)来安排备份(无论选项(仅数据库、仅文件或两者都是..)或时间范围(例如,每周、每天等),这些选项与我的问题并不严格相关:

  • 根据管理员的 Select ,备份可以立即运行(我想,在点击按钮后,启动一条路由...)或使用计划的命令,以及相关的选项(我还没有决定我应该建议每周或每月备份,但这些选项仍然应该作为计划任务被允许/可用,显然...

  • 显然,使用备份命令(通常是控制器中的CLI命令)充其量也就是复杂,或者根本不可能?

无论如何,有人能带头解决这个问题吗,因为我想这并不是什么不寻常的用例……?

多谢,

JMB

推荐答案

如果我理解正确的话,当管理员更改与备份相关的设置时,您也希望更改计划cron.可以从控制器执行此操作.您可以在控制器中设置日程安排:

Illuminate\Console\Scheduling\Schedule;

    protected function schedule(Schedule $schedule): void
    {
        switch ($adminChoice) {
        case 'daily':
            $schedule->command('backup:run')->daily();
            break;
        case 'weekly':
            $schedule->command('backup:run')->weekly();
            break;
       }
    }

Laravel相关问答推荐

发送邮箱后,Laravel重定向偶尔会导致错误500

当未通过验证的字段是值数组时,Laravel$validator->;validator()方法不会引发异常

如何让 Laravel 的 Collection 表现得像一个流?

如何返回Blade Laravel 中的按钮?

将 ID 传递给资源控制器进行编辑

如何在 Laravel 中将 Select 选项表单插入数据库

前端和管理员分开时未加载laravel 9中间件

laravel 如何验证跨越午夜的两个值之间的时间(15:00 > 时间 > 01:00)

Laravel查询多对多关系

在 laravel 中动态更改时区

Laravel 4:处理种子中的关系

Laravel 4:验证前修剪输入的最佳实践

如何在 Laravel 5.5 中扩展 vendor 包服务提供者

Laravel 查询构建器 - 如何按别名分组,或进行原始 groupBy

如何访问 Carbon 对象类型?

在 Laravel 5.4 中向多个抄送收件人发送Electron邮件

是否可以在 Laravel 的不同数据库中引用外键?

Laravel binding绑定的用途和目的是什么?

Laravel - artisan不工作

如何访问 Laravel 集合中的第 n 个项目?