在 Linux 服务器上备份 Laravel 项目,通常包含 代码、数据库、上传文件(storage) 三部分。下面给你几种常见、实用的备份方案。
tar -czf laravel_backup_$(date +%F).tar.gz /var/www/laravel
包含:
storage/app(用户上传文件).env 需注意安全)mysqldump -u root -p laravel_db > laravel_db_$(date +%F).sql
composer require spatie/laravel-backup
php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"
config/backup.php
'backup' => [
'source' => [
'files' => [
'include' => [
base_path(),
],
'exclude' => [
base_path('vendor'),
base_path('node_modules'),
],
],
'databases' => ['mysql'],
],
],
php artisan backup:run
crontab -e
添加:
0 2 * * * cd /var/www/laravel && php artisan backup:run >> /dev/null 2>&1
✅ 优点:
/scripts/backup_db.sh
#!/bin/bash
DATE=$(date +%F)
mysqldump -u root -p密码 laravel_db > /backup/laravel_$DATE.sql
加权限:
chmod +x /scripts/backup_db.sh
定时:
0 3 * * * /scripts/backup_db.sh
rsync -avz /var/www/laravel/app /var/www/laravel/config /var/www/laravel/routes /backup/laravel_code
rsync -avz /var/www/laravel/storage/app /backup/laravel_storage
✅ 必须备份:
.envstorage/app✅ 不建议备份:
vendornode_modulescache✅ 推荐策略:
如果你愿意,可以告诉我:
我可以给你一套可直接用的备份脚本。