1. Đặc thù của Drupal trong bài toán backup
Drupal không phải là một website tĩnh hay một ứng dụng đơn giản. Một website Drupal hoàn chỉnh bao gồm:
Mã nguồn core
Module, theme
Cấu hình (configuration)
Database
File upload
Logic nghiệp vụ phức tạp
📌 Vì vậy:
Backup Drupal không thể chỉ là copy thư mục web hoặc dump database một cách rời rạc.
Mục tiêu là:
Có thể dựng lại một website Drupal hoạt động đúng chức năng và dữ liệu.
2. Nhóm BẮT BUỘC phải backup
2.1. Database (quan trọng nhất)
Database Drupal chứa:
Nội dung (node, taxonomy, comment…)
User, role, permission
Cấu trúc entity
Một phần cấu hình
📌 Mất database = mất website Drupal.
Cần backup:
Toàn bộ database
User database và quyền truy cập DB
2.2. Thư mục file upload (sites/default/files)
Thư mục này chứa:
File upload của người dùng
Hình ảnh, tài liệu
Media
File sinh động trong quá trình vận hành
📌 Đây là dữ liệu không thể tái tạo.
2.3. File cấu hình Drupal (settings.php)
sites/default/settings.phpsites/default/services.yml(nếu có).env(nếu dùng)
Chứa:
Thông tin kết nối database
Key bảo mật
Cấu hình môi trường
📌 Phải bảo mật cao khi backup.
3. Nhóm RẤT NÊN backup
3.1. Custom module
modules/custom/
📌 Thể hiện logic nghiệp vụ riêng, không thể tải lại từ Internet.
3.2. Custom theme
themes/custom/
📌 Ảnh hưởng trực tiếp đến giao diện và trải nghiệm người dùng.
3.3. Export cấu hình Drupal (Configuration Management)
Output của
drush config:exportThư mục
config/sync/
📌 Giúp:
Khôi phục cấu trúc site
So sánh thay đổi
Audit cấu hình
4. Nhóm CÓ THỂ không cần backup (nếu có thể tái tạo)
4.1. Drupal core
/coreFile gốc của Drupal
📌 Có thể cài lại đúng phiên bản.
4.2. Contrib module và theme
/modules/contrib/themes/contrib
📌 Có thể cài lại bằng Composer nếu có composer.lock.
Core và Contrib cũng nhẹ nên mình thường backup luôn!
4.3. Cache và file tạm
/sites/default/files/php/sites/default/files/css/sites/default/files/js
📌 Không giúp phục hồi.
5. Composer và Dependency (rất quan trọng)
Nếu site dùng Composer, cần backup:
composer.jsoncomposer.lock
📌 composer.lock quyết định đúng phiên bản dependency.
6. Backup Drupal trong môi trường multisite
Cần backup:
Database từng site
sites/<site>/filessites/<site>/settings.php
📌 Không backup chung một cách mù quáng.
7. Đảm bảo tính nhất quán khi backup Drupal
Nguyên tắc:
Backup database và files cùng thời điểm
Ghi timestamp rõ ràng
Snapshot hỗ trợ nếu có
📌 Tránh lỗi:
File có nhưng DB không tham chiếu
DB tham chiếu file không tồn tại
8. Restore Drupal đúng cách (tóm tắt)
Trình tự chuẩn:
Cài đúng phiên bản Drupal core
Restore code custom
Restore database
Restore files
Restore settings.php
Import config (nếu dùng)
Clear cache
Test nghiệp vụ
9. Sai lầm phổ biến khi backup Drupal
Chỉ backup database
Chỉ backup thư mục web
Không backup files
Không backup config export
Không test restore
10. Checklist backup Drupal website
BẮT BUỘC
Database
sites/default/filessettings.php
RẤT NÊN
Custom module
Custom theme
Config export
Composer files
Backup Drupal không phải là backup mã nguồn,
mà là backup toàn bộ trạng thái vận hành của website.
Làm đúng giúp:
Phục hồi nhanh
Không mất dữ liệu
Không lệ thuộc cá nhân
Đáp ứng tuân thủ và kiểm toán
- Đăng nhập để gửi ý kiến