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- Cài đặt dự án Laravel
- Định cấu hình kết nối cơ sở dữ liệu
- Cài đặt gói Laravel Spatie
- Đăng ký nhà cung cấp dịch vụ
- Thiết lập sao lưu trong Laravel
- 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ẩuDB_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= 2Thự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= 0Thự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= 1Việ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; |