Laravel-backup

在实际项目中,为了防止数据的丢失,我们需要备份数据库,laravel-backup这个package正好符合我们的需求。

安装

composer require spatie/laravel-backup

config/app.php下添加

Spatie\Backup\BackupServiceProvider::class

生成config/laravel-backup.php配置文件

php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"

配置

需要使用mysqldump这个命令,需要确定此命令已经安装,以及它的安装路径。
可以使用which mysqldump拿到路径,在本地开发和生产环境可能略有不同,此处建议在.env文件中定义一个DUMP_BINARY_PATH来保存开发环境的mysqldump路径
config/databases.php下配置

'connections' => [
    'mysql' => [
        'driver'    => 'mysql'
        'dump' => [
           'dump_binary_path' => '/path/to/the/binary', // only the path, so without `mysqldump` or `pg_dump`
          ]  
    ],

使用

配置完成之后,使用php artisan backup:run生成备份文件,使用php artisan backup:clean清除失效的备份文件。

定时任务

配合liux,laravel的schedule可以让系统自动备份
Console/Kernel.php文件中添加

protected function schedule(Schedule $schedule)
{
   $schedule->command('backup:clean')->daily()->at('01:00');
   $schedule->command('backup:run')->daily()->at('02:00');
}

执行crontab -e命令,添加

* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1

基本的使用已经介绍完了,更多的资料请参考官方文档

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文链接 必备品 文档:Documentation API:API Reference 视频:Laracasts ...
    layjoy阅读 8,650评论 0 121
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,198评论 19 139
  • 必备品文档:DocumentationAPI: API Reference视频:Laracasts速查表:Lara...
    ethanzhang阅读 5,813评论 0 68
  • 这是一份事后的总结。在经历了调优过程踩的很多坑之后,我们最终完善并实施了初步的性能测试方案,通过真实的测试数据归纳...
    胖福哥阅读 7,079评论 1 48
  • 多么幸运,我是你的女儿 在我的血液里 一半似水清澈,一半似水浓烈 多么幸运,我是你的女儿 在我的骨子里 一半似铁刚...
    蓝色的付付阅读 351评论 1 4