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

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

你可能感兴趣的:(Laravel-backup)