Website được thiết kế tối ưu cho thành viên chính thức. Hãy Đăng nhập hoặc Đăng ký để truy cập đầy đủ nội dung và chức năng. Nội dung bạn cần không thấy trên website, có thể do bạn chưa đăng nhập. Nếu là thành viên của website, bạn cũng có thể yêu cầu trong nhóm Zalo "CNTT" các nội dung bạn quan tâm.

Bài 25. Những gì cần backup cho Drupal website

ICT

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.php

  • sites/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:export

  • Thư 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

  • /core

  • File 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.json

  • composer.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>/files

  • sites/<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:

  1. Cài đúng phiên bản Drupal core

  2. Restore code custom

  3. Restore database

  4. Restore files

  5. Restore settings.php

  6. Import config (nếu dùng)

  7. Clear cache

  8. 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/files

  • settings.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