Sao lưu database với Google driver Laravel

Tram Ho

Ở bài viết này chúng ta sẽ cùng tìm hiểu sao lưu database lên google driver với project laravel

Requirements

Cài đặt project laravel

Google Drive lưu trữ

Mysql

Kiến thức cơ bản về PHP thiết lập package trong laravel.

Installation

Chúng ta sẽ bắt đầu với việc cài đặt package spatie/laravel-backup vào project laravel.

Đăng ký service provider trong file config/app.php.

Xuất bản file config.

Lên lịch trình chạy backupdate database custome mà sẽ ko send mail thông báo.

Thay đổi cấu hình file app/backup.php để sử dụng google driver.

Cài đặt Flysystem để sử dụng Google Drive:

Sau đó trong file GoogleDriveServiceProvider.php vừa được tạo trong phương thức boot() chúng ta sẽ sửa lại như sau để thêm google driver cho filesystem.

Đăng ký GoogleDriveServiceProvider provider trong config/app.php

Thêm lưu trữ về google driver vào config/filesystems.php của chúng ta:

Cập nhật file .env của bạn:

Get Google credentials

Đi đến trang https://console.developers.google.com/ và tạo mới project của chúng ta.

Tiếp theo chúng ta Library và tìm kiếm google driver và enable google driver api.

Tiếp theo chúng ta sẽ tạo OAuth client ID


Tiếp theo chũng ta sẽ chọn Web Application và đặt tên cho nó. và cầ phải thêm Authorized redirect URIs tạo một khóa sản xuất riêng sau này và sau đó create.

Thêm https://developers.google.com/oauthplayground tạm thời, bởi vì bạn sẽ cần sử dụng nó trong bước tiếp theo.

Lúc này cửa sổ popup show lên sẽ có Your Client IDYour Client Secret.
Tiếp theo chúng ta hãy đến trang: https://developers.google.com/oauthplayground.
Hãy chắc chắn rằng URL to your Authorized redirect URIs ở bước trước là đúng đến trang web của bạn.
Ở bên góc phải của màn hình click icon setting và check, Use your own OAuth credentials và bạn háy dán Client IDClient Secret vừa lấy được ở bước trước vào. Và thêm các ứng dụng được phép trùy cập vào google driver của bạn.


Sau đó nhấn button Authorize APIs và chấp nhận quyền truy cập.
Tiếp theo chúng ta sẽ đến bước 2. và check vào Auto-refresh the token before it expires” và click “Exchange authorization code for tokens”.

Lúc này chúng ta đã lấy được Refresh token.
Tiếp theo dựa vào các thông tin mới lấy được lúc trên chúng ta cập nhât .env

Update .env config

Để lấy id thư mục sao lưu chúng ta truy cập vào thư mục sau đó lấy ID sau đó cập nhật vào .env

Bây giờ chúng ta sẽ thực hiện công việc backup database .

Run bacth backup

Nếu có lỗi bạn sẽ sửa lại config trong config/backup.php như sau rồi chạy lại.

Tiếp theo chúng ta sẽ kiểm tra kết quả trên thư mục mà chúng ta sao lưu kết quả.
Bài viết của mình đến đây là hết hẹn gặp lại các bạn ở các bài viết tiếp theo: 😃

Tài liệu tham khảo:

https://console.developers.google.com/

https://developers.google.com/oauthplayground/

https://laravel.com/docs/7.x

https://medium.com/@dennissmink/laravel-backup-database-to-your-google-drive-f4728a2b74bd

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo