Laravel 数据库及项目代码自动备份指北 (spatie/Laravel-backup) | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区

[Laravel 数据库及项目代码自动备份指北 (spatie/Laravel-backup) | Laravel China 社区 - 高品质的 Laravel 和 PHP 开发者社区]

源码和数据库备份功能

安装:
composer require spatie/laravel-backup
报错:
  Installation failed, reverting ./composer.json to its original content.
原因:
  spatie/laravel-backup 最新版需要php7.1
解决:
  感觉不同的PHP版本下载不同版本的 spatie/laravel-backup
比如我的项目PHP要求大于5.6* 而v3.x-dev支持~5.5*
  composer require spatie/laravel-backup v3.x-dev
出现 config/laravel-backup.php 文件说明安装成功
'providers' => [
        Spatie\Backup\BackupServiceProvider::class,
],
执行:  php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"

执行 artisan 可以看到:
   backup
    backup:clean        Remove all backups older than specified number of days in config.
    backup:list         Display a list of all backups.
    backup:monitor      Monitor the health of all backups.
    backup:run          Run the backup.

执行 php artisan backup:run 开始备份
 config/laravel-backup.php :
'destination' => [
            /*
             * The disk names on which the backups will be stored.
             */
            'disks' => [
                'local',
            ],
 ],
config/filesystems.php

    'disks' => [

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],
    ],
从以上可以 看出  备份的.zip文件 在 storge/app/http---localhost/文件中
只备份文件
php artisan backup:run --only-files
只备份数据库
php artisan backup:run --only-db
laravel命令计划:自动备份(linux自带 定时任务工具crontab 无需安装)
注意: schedule: true 冒号后面必须空格,否则语法错误
Homestead.yaml:
  sites:
    - map: wangj_task.io
      to: /home/vagrant/code/Task/public
      schedule: true #务必空格!!!
更新.yaml:
  vagrant provision
    配置需要的定时任务
./app/Console/Kernel.php:
  protected function schedule(Schedule $schedule)
    {
        // $schedule->command('inspire')
        //          ->hourly();
        $schedule->command('backup:clean')->daily()->at('10:00');
        $schedule->command('backup:run')->daily()->at('10:05');
    }

自动生成cronta定时任务文件:
  vagrant@homestead:/etc/cron.d$ ls
  mdadm  php  popularity-contest  sysstat  wangjtaskio
  vagrant@homestead:/etc/cron.d$ cat wangjtaskio
注释:每分钟执行一次  artisan schedule:run
  * * * * * vagrant  . /home/vagrant/.profile; /usr/bin/php/home/vagrant/code/Task/public/../artisan schedule:run >> /dev/null 2>&1

备份文件默认放在该目录: ./storage/app/ 备份文件格式为 .zip

Watts


Original url: Access

Created at: 2018-10-10 17:13:06

Category: default

Tags: none

请先后发表评论
  • 最新评论
  • 总共0条评论