提问人:Amjad Khoulani 提问时间:11/14/2023 更新时间:11/14/2023 访问量:46
如何将本地Laravel项目备份到云服务?[关闭]
How to backup local Laravel project to cloud service? [closed]
问:
我们正在开发一个将在本地的项目,我们希望进行每日备份,我们希望它在托管或服务器上。
谢谢
答:
使用 mysql,您可以运行 .mysqldump -u root -h localhost -pmypassword database | gzip -9 > database-db.sql.gz
在本地或服务器上预安装sudo apt-get install mysql-client
如果您使用的是 S3 等云服务 - S3-backups
这个Laravel包创建了你的应用程序的备份。备份是一个 zip 文件,其中包含指定目录中的所有文件以及数据库的转储。备份可以存储在您在 Laravel 中配置的任何文件系统上,例如 Amazon S3。您还可以安装与 Laravel 文件系统兼容的第三方驱动程序或创建自己的驱动程序。您可以清理旧备份并每天安排任务以完成备份。
第 1 步:安装和配置 Laravel 备份包 首先,安装 Laravel 备份包。一个常用的软件包是 spatie/laravel- backup。您可以使用 Composer 安装它:
composer require spatie/laravel-backup
After installation, publish the configuration file:
php artisan vendor:publish --provider="Spatie\Backup\BackupServiceProvider"
步骤 2:配置备份包 使用必要的备份配置更新 .env 文件: # .env
# Database settings
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database
DB_USERNAME=your_username
DB_PASSWORD=your_password
# Backup settings
BACKUP_CLEANUP_REPO=cleanups
BACKUP_SOURCE_FILES=your_project_directory
BACKUP_DESTINATION_PATH=your_backup_destination_path
BACKUP_DATABASE_NAME_ONLY=true
Make sure to replace your_database, your_username, your_password, your_project_directory, and your_backup_destination_path with your actual database and project details.
第 3 步:设置云存储 在此示例中,我们将使用 Amazon S3。创建 S3 存储桶并获取您的访问密钥、私有密钥和区域。
步骤 4:安装 AWS 开发工具包 使用 Composer 安装适用于 Laravel 的 AWS 开发工具包:
composer require aws/aws-sdk-php
步骤 5:配置 AWS 开发工具包 使用您的 AWS 凭证和区域更新您的 .env 文件: # .env
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_DEFAULT_REGION=your_region
AWS_BUCKET=your_s3_bucket
AWS_URL=https://your_bucket_url
步骤 6:创建备份 现在,您可以使用 Laravel 备份包创建备份:
php artisan backup:run
第 7 步:将备份上传到云存储 您可以使用 sync 命令将备份上传到云存储:
php artisan backup:monitor
This command syncs your local backup directory with your cloud storage.
步骤8:自动备份 对于定期备份,您可以设置计划任务。将以下内容添加到应用程序\控制台\内核.php:
# App\Console\Kernel.php
use Spatie\Backup\Tasks\Backup\BackupJob;
protected function schedule(Schedule $schedule)
{
$schedule->command(BackupJob::class)->daily()->at('02:00');
}
This example schedules a backup job daily at 2 AM.
步骤 9:测试备份和还原过程 在依赖备份系统之前,请测试备份和还原过程,以确保它们按预期工作。
By following these steps, you can back up your local Laravel project to a cloud service like Amazon S3. Remember to adapt the instructions to your specific cloud storage service if you're using something other than S3.
评论