Giao diện
@digiforce-nc/plugin-backups
Plugin sao lưu dữ liệu nâng cao — backup database và file storage lên cloud, hỗ trợ lịch trình tự động, point-in-time restore và multi-destination.
Plugin này làm gì?
Mất dữ liệu là thảm họa cho mọi hệ thống. Plugin cung cấp giải pháp backup toàn diện: sao lưu database (full/incremental), sao lưu file storage (uploads, attachments), lên cloud (S3, GCS, Azure Blob), với lịch trình cron và khả năng restore tại bất kỳ thời điểm nào.
Cơ chế hoạt động
Tính năng chính
| # | Tính năng | Mô tả |
|---|---|---|
| 1 | Full backup | Sao lưu toàn bộ database |
| 2 | Incremental | Chỉ backup phần thay đổi (WAL archiving) |
| 3 | File backup | Sao lưu file uploads và attachments |
| 4 | Scheduled | Lịch trình cron (hàng ngày, hàng tuần...) |
| 5 | Multi-destination | Gửi backup đến nhiều nơi đồng thời |
| 6 | Encryption | Mã hóa AES-256 trước khi upload |
| 7 | Retention policy | Tự xóa backup cũ theo policy (giữ N bản) |
| 8 | One-click restore | Khôi phục từ bất kỳ backup nào |
API endpoints
| Endpoint | Mô tả |
|---|---|
backups:create | Tạo backup thủ công |
backups:list | Danh sách backup |
backups:restore | Khôi phục từ backup |
backups:delete | Xóa backup |
backups:schedule | Cấu hình lịch trình |
backups:destinations | CRUD destination (S3, GCS...) |
Database
| Bảng | Mô tả |
|---|---|
backups | Metadata backup (timestamp, size, checksum, status) |
backupSchedules | Lịch trình backup (cron expression, destination) |
backupDestinations | Cấu hình đích lưu trữ (credentials, bucket) |
Thành phần client
| Thành phần | Mô tả |
|---|---|
BackupDashboard | Tổng quan backup (last backup, next scheduled, storage used) |
BackupList | Danh sách backup với download/restore/delete |
ScheduleConfig | Cấu hình lịch trình backup |
DestinationForm | Form cấu hình cloud destination |
RestoreWizard | Wizard khôi phục dữ liệu từ backup |
Dependencies
| Package | Vai trò |
|---|---|
@digiforce-nc/server | Server framework |
@digiforce-nc/database | Database ORM |
@digiforce-nc/client | Client UI framework |
@aws-sdk/client-s3 | AWS S3 client |
archiver | Nén file backup |
node-cron | Lịch trình cron |