Làm cách nào để tạo bản sao lưu laravel và hiển thị nó?

Trong hướng dẫn này, bạn sẽ học cách sao lưu cơ sở dữ liệu bằng Spatie trong ứng dụng Laravel một cách nhanh chóng và dễ dàng. Ví dụ về spatie của Laravel này sẽ chỉ cho bạn cách sử dụng gói spatie để sao lưu cơ sở dữ liệu

Spatie hùng hồn hỗ trợ bạn sao lưu ứng dụng Laravel của bạn trong vài phút. Nó tạo một bản sao lưu tệp zip chứa mọi thứ trong thư mục cơ bản của ứng dụng, các tệp và quan trọng nhất là kết xuất cơ sở dữ liệu

Laravel Spatie có lợi thế là cho phép bạn lưu trữ các bản sao lưu laravel trên bất kỳ hệ thống tệp nào bạn muốn cho ứng dụng laravel của mình

Cách sao lưu ứng dụng Laravel 9 với kết xuất cơ sở dữ liệu bằng Spatie

Mục lục
  1. Cài đặt dự án Laravel
  2. Định cấu hình kết nối cơ sở dữ liệu
  3. Cài đặt gói Laravel Spatie
  4. Đăng ký nhà cung cấp dịch vụ
  5. Thiết lập sao lưu trong Laravel
  6. Sao lưu để bảo mật dữ liệu Laravel

1. Cài đặt dự án Laravel

Để xây dựng một dự án Laravel mới từ đầu, hãy sử dụng trình soạn thảo để cài đặt ứng dụng, mở công cụ dòng lệnh và chạy lệnh sau

composer create-project laravel/laravel --prefer-dist laravel-demo-appcd laravel-demo-app

2. Định cấu hình kết nối cơ sở dữ liệu

Bạn có thể sử dụng MAMP hoặc XAMPP làm máy chủ web cục bộ bằng cách chỉnh sửa tệp

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=root
DB_PASSWORD=
2 với tên cơ sở dữ liệu, tên người dùng và mật khẩu

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=root
DB_PASSWORD=

3. Cài đặt gói Laravel Spatie

Đây là giai đoạn đầu tiên, trong đó chúng tôi sẽ chỉ cho bạn cách cài đặt gói spatie trong ứng dụng Laravel của bạn bằng lệnh composer

composer require spatie/laravel-backup

Spatie lệnh nghệ nhân PHP gửi một email dự phòng sau khi thực hiện;

bên trong. Tệp

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=root
DB_PASSWORD=
0, ghi địa chỉ email

[email protected]
MAIL_FROM_NAME="${APP_NAME}"

4. Đăng ký nhà cung cấp dịch vụ

Trong giai đoạn này, bạn sẽ đăng ký nhà cung cấp dịch vụ, kiểm tra các nhà cung cấp dịch vụ trọn gói trong tệp

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=root
DB_PASSWORD=
1 và cẩn thận chèn lớp BackupServiceProvider

'providers' => [
...
...
...
Spatie\Backup\BackupServiceProvider::class,
];

5. Thiết lập sao lưu trong Laravel

Để bắt đầu với Laravel Backup, hãy đảm bảo tệp cấu hình được xuất bản lên

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=root
DB_PASSWORD=
2

Thực hiện lệnh được chỉ định để hoàn thành nhiệm vụ này

________số 8

Đây là tệp bạn có thể xem để xem nội dung mặc định của cấu hình sao lưu

<?php
return [
'backup' => [
'name' => env('APP_NAME', 'laravel-backup'),
'source' => [
'files' => [

'include' => [
base_path(),
],

'exclude' => [
base_path('vendor'),
base_path('node_modules'),
],

'follow_links' => false,

'ignore_unreadable_directories' => false,

'relative_path' => null,
],

'databases' => [
'mysql',
],
],

'database_dump_compressor' => null,

'database_dump_file_extension' => '',
'destination' => [

'filename_prefix' => '',

'disks' => [
'local',
],
],

'temporary_directory' => storage_path('app/backup-temp'),

'password' => env('BACKUP_ARCHIVE_PASSWORD'),

'encryption' => 'default',
],

'notifications' => [
'notifications' => [
\Spatie\Backup\Notifications\Notifications\BackupHasFailedNotification::class => ['mail'],
\Spatie\Backup\Notifications\Notifications\UnhealthyBackupWasFoundNotification::class => ['mail'],
\Spatie\Backup\Notifications\Notifications\CleanupHasFailedNotification::class => ['mail'],
\Spatie\Backup\Notifications\Notifications\BackupWasSuccessfulNotification::class => ['mail'],
\Spatie\Backup\Notifications\Notifications\HealthyBackupWasFoundNotification::class => ['mail'],
\Spatie\Backup\Notifications\Notifications\CleanupWasSuccessfulNotification::class => ['mail'],
],

'notifiable' => \Spatie\Backup\Notifications\Notifiable::class,
'mail' => [
'to' => '[email protected]',
'from' => [
'address' => env('MAIL_FROM_ADDRESS', '[email protected]'),
'name' => env('MAIL_FROM_NAME', 'Example'),
],
],
'slack' => [
'webhook_url' => '',

'channel' => null,
'username' => null,
'icon' => null,
],
'discord' => [
'webhook_url' => '',
'username' => null,
'avatar_url' => null,
],
],

'monitor_backups' => [
[
'name' => env('APP_NAME', 'laravel-backup'),
'disks' => ['local'],
'health_checks' => [
\Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumAgeInDays::class => 1,
\Spatie\Backup\Tasks\Monitor\HealthChecks\MaximumStorageInMegabytes::class => 5000,
],
],

],
'cleanup' => [

'strategy' => \Spatie\Backup\Tasks\Cleanup\Strategies\DefaultStrategy::class,
'default_strategy' => [

'keep_all_backups_for_days' => 7,

'keep_daily_backups_for_days' => 16,

'keep_weekly_backups_for_weeks' => 8,

'keep_monthly_backups_for_months' => 4,

'keep_yearly_backups_for_years' => 2,

'delete_oldest_backups_when_using_more_megabytes_than' => 5000,
],
],
];

6. Sao lưu để bảo mật dữ liệu Laravel

Chúng tôi đã giới thiệu cách thiết lập ứng dụng laravel, cài đặt plugin spatie và định cấu hình các cài đặt cơ bản của nó;

Nhưng trước tiên, hãy nhanh chóng xóa bộ đệm cấu hình của Laravel;

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=root
DB_PASSWORD=
0

Thực hiện một bản sao lưu rất đơn giản;

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=root
DB_PASSWORD=
1

Việc sao lưu ứng dụng laravel là bắt buộc vì khả năng xảy ra lỗi rất cao trong quá trình phát triển ứng dụng

May mắn thay, bằng cách sử dụng gói Spatie, chúng tôi đã phát hiện ra một cách tiếp cận độc đáo để sao lưu cơ sở dữ liệu và ứng dụng laravel;