我们正在使用Laravel Vapor来管理我们的laravel应用程序,并计划使用laravel-backup包为我们的生产环境创建自动数据库备份。
我测试了这个实现,并设法让它在我的Windows机器上工作(使用7.3.3
版本)。
我将邮件配置设置为在备份运行(成功或失败)时收到通知,并将路径设置为mysqldump
,如下所示:
'dump' => [
'dump_binary_path' => 'C:\xampp\mysql\bin',
'use_single_transaction',
'timeout' => 60 * 5,
]
为了设置并运行vapor,我将destination.disk
-config从local
更改为s3
,s3
为
's3' => [
'driver' => 's3',
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'url' => env('AWS_URL'),
'endpoint' => env('AWS_ENDPOINT'),
],
我删除了dump_binary_path
,因为我不知道在vapor的上下文中它指向哪里,所以我希望它位于默认位置,正如laravel-backup
包的文档中提到的:
mysqldump用于备份MySQL数据库。pg_dump用于转储PostgreSQL数据库。如果这些二进制文件没有安装在默认位置,您可以在Laravel自己的database.php配置文件中添加一个名为dump. dump_binary_path的键。
我在kernel
-文件中包含了backup
命令
$schedule->command('backup:clean')->daily()->at('01:00');
$schedule->command('backup:run --only-db')->daily()->at('01:30');
然后用蒸汽将其展开。
不幸的是,它不工作。我没有收到电子邮件(既不成功也不失败),没有在我们的s3
创建任何东西。
- 是否有人使用过
laravel-backup
与蒸汽之前,并知道如何解决这个问题?我错过了什么?**
- 是否有人使用过
先谢了!
1条答案
按热度按时间jogvjijk1#
Laravel Vapor的支持者回答说:“我们的本机运行时未安装mysqldump。如果需要,您将需要运行Docker运行时并自行安装。还值得注意的是,Lambda上的最长执行时间为15分钟,因此,如果您的备份很大,您可能会遇到问题。”