Spatie/laravel-backup 可实现 Laravel 项目数据自动备份,支持本地与云存储;配置 backup.php 定义备份源、目标磁盘及排除目录;通过 Artisan 命令手动或定时执行备份与恢复;结合 Laravel 调度任务 daily 备份并清理旧文件;支持监控备份状态与容量限制,保障生产环境数据安全。

使用 Spatie/laravel-backup 包可以轻松实现 Laravel 项目的数据库、文件等数据的自动备份。它支持将备份保存到本地或云存储(如 Amazon S3、FTP、Dropbox 等),并可配置自动清理旧备份,非常适合生产环境的数据保护。
在 Laravel 项目根目录下运行以下命令安装包:
composer require spatie/laravel-backup安装完成后,发布配置文件:
php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"该命令会在 config/backup.php 生成配置文件,后续所有设置都可通过此文件调整。
立即进入“豆包AI人工智官网入口”;
立即学习“豆包AI人工智能在线问答入口”;
打开 config/backup.php,主要配置项包括:
['/var/www/html/myproject']
['/var/www/html/myproject/storage', '/var/www/html/myproject/vendor']
['mysql']
local、s3、ftp 等示例配置(保存到本地和 S3):
'destination' => [ 'disks' => ['local', 's3'], ],确保 config/filesystems.php 中已正确配置对应磁盘,如 S3 需填写 key、secret、region 和 bucket 名称。
使用 Artisan 命令手动触发备份:
php artisan backup:run该命令会按配置打包文件和数据库,并上传到指定磁盘。
如果只想备份数据库:
php artisan backup:run --only-db只备份文件:
php artisan backup:run --only-filesLaravel 自带任务调度功能,可在 app/Console/Kernel.php 中添加计划任务:
$schedule->command('backup:clean')->daily()->at('01:00');上述配置每天凌晨 1 点清理旧备份,2 点执行完整备份。
注意:需确保服务器的 crontab 添加了 Laravel 调度执行命令:
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1在 backup.php 中的 monitor_backups 配置可用于定义保留策略,例如:
该配置监控本地备份:最新备份不能超过 1 天,总大小不超过 5000MB,否则会触发通知。
查看当前备份列表:
php artisan backup:list从备份中恢复数据(谨慎操作,会覆盖当前数据):
php artisan backup:restore latest也可指定具体备份文件名进行还原。
基本上就这些。Spatie/laravel-backup 使用简单,配置灵活,是 Laravel 项目做数据保障的首选方案之一。合理设置备份频率和存储位置,能有效防止数据丢失风险。
以上就是laravel Spatie/laravel-backup包的配置和使用_Laravel Spatie备份包配置与使用教程的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号