Laravel 项目实现数据备份:laravel-backup
打赏作者

chenxin

这个$schedule这个命令应该不会就这样就会自己每天执行吧,好像还要进行cronable

chenxin 回复 JellyBool

我看过了,知道这个原理,就是问一下而已。

JellyBool 回复 chenxin

恩,是的。你在 Kernel 文件写上那两行,然后配置一下就可以了。laravist 每天就会跑很多自己的定时任务

faly

##环境windows10+XAMPP(php7.0.9),mysql路径为D:\xampp\mysql\bin在laravel5.4的database.php中加入视频说的下面代码执行php artisan backup:run就会报错,不加就很正常(可以正常备份,发邮件通知等),就是不知道是什么原因

            'dump' => [
                'dump_binary_path' => 'D:/xampp/mysql/bin/', // only the path, so without `mysqldump` or `pg_dump`
                'use_single_transaction',
                'timeout' => 60, // 5 minute timeout
                'exclude_tables' => [],
                'add_extra_option' => '--extends-insert=False --complete-insert=TRUE',
            ]

###错误的提示
···
Starting backup…
Backup failed because: Missing argument 1 for Spatie\DbDumper\DbDumper::excludeTables(), called in E:\PHP7Tutorial\composer-lesson\PVWebsite\vendor\spatie\laravel-backup\src\Tasks\Backup\DbDumperFactory.php on line 93 and defined.

[ErrorException]
fwrite(): send of 12 bytes failed with errno=10054 远程主机强迫关闭了一个现有的连接。

[ErrorException]
fwrite(): send of 6 bytes failed with errno=10054 远程主机强迫关闭了一个现有的连接。
···

JellyBool 回复 faly

远程数据库连接拒绝了吧

faly 回复 JellyBool

这样一来我就不能自定义那个备份的sql文件中的样式了。T_T

413209866 回复 faly
'dump_using_single_transaction' => true, 
lhp9916

线上生产环境下,数据备份的频率该怎样定? 多久备份一次比较好?

Augus

laravel5.3, php5.6
安装的是laravel-backup 3Kernel中加了两行。 还应该进行如何配置呢。
还有 邮件正确在mailtrap中正确提示了。 但是邮箱未接收到邮件。。

JellyBool 回复 Augus

还有 邮件正确在mailtrap中正确提示了。 但是邮箱未接收到邮件。。

mailtrap 只是开发测试用的,要实际发邮件,你还是用 sendCloud 吧

Augus 回复 JellyBool

好的, sendcloud 会把备份的发送到邮箱吗?

配置是搞定了。 原因是: crond 绝对路径。 php 也得写绝对路径

xiaoshen

如果数据库很大,上百G,那他备份会不会很吃服务器资源,空间和运行速度;

JellyBool 回复 xiaoshen

这个如果不成立

xiaoshen 回复 JellyBool

比如一个电商的网站,各种订单、订单关联、优惠卷,用户,数据库不就被撑大了么,十几G肯定有的,上百G夸大了点,是为了测试复杂场景;

zjhjh123

我使用这个 composer require spatie/laravel-backup 只能安装版本为 4.18的,在database.php中不能配置dump,一配置就报错,我直接没有它就可以运行,并且数据库和文件都能完整的备份下来,最后是一脸蒙bi,遇见过这样的小伙伴没?

乔泓恺-Jone

In DbDumper.php line 188:

Type error: Too few arguments to function Spatie\DbDumper\DbDumper::excludeTables(), 0 passed in /Users/Jone/sites/ideserve/vendor/spatie/laravel-backup/
src/Tasks/Backup/DbDumperFactory.php on line 107 and exactly 1 expected

这个问题该如果解决呢?