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 18. Backup cấu hình hệ thống (/etc)

ICT

1. Vì sao /etc quan trọng nhưng không thể backup một cách máy móc?

Thư mục /etc là nơi chứa:

  • Cấu hình hệ điều hành

  • Cấu hình dịch vụ

  • Quy tắc bảo mật

  • Logic vận hành của máy chủ

Có thể nói:

/etc chính là “bộ não cấu hình” của máy chủ Linux.

Tuy nhiên, /etc không thể backup toàn bộ một cách mù quáng, vì:

  • Nhiều file là mặc định

  • Nhiều file phụ thuộc phiên bản OS

  • Restore nguyên khối dễ gây xung đột

📌 Mục tiêu không phải là giữ nguyên /etc, mà là tái tạo hành vi hệ thống.


2. Nguyên tắc backup /etc

Khi backup /etc, cần tuân thủ ba nguyên tắc:

  1. Chỉ backup những gì đã thay đổi

  2. Backup theo logic dịch vụ

  3. Có khả năng đọc – hiểu – áp dụng lại

Backup /etc để:

  • Con người đọc được

  • Có thể so sánh

  • Có thể áp dụng chọn lọc khi restore


3. Nhóm file hệ thống bắt buộc phải backup

3.1. Nhận diện hệ thống

  • /etc/hostname

  • /etc/hosts

📌 Quyết định định danh máy chủ và giao tiếp nội bộ.


3.2. Mount và lưu trữ

  • /etc/fstab

📌 Sai fstab = hệ thống không boot được.


3.3. Lập lịch và tự động hóa

  • /etc/crontab

  • /etc/cron.d/

  • /etc/cron.daily/

  • /etc/cron.weekly/

📌 Backup cron giúp phục hồi hành vi nền của hệ thống.


3.4. SSH và truy cập

  • /etc/ssh/sshd_config

📌 Thiếu hoặc sai cấu hình SSH = không truy cập được server.


3.5. Phân quyền và bảo mật

  • /etc/sudoers

  • /etc/sudoers.d/

📌 Sai cấu hình sudo có thể làm mất quyền quản trị.


3.6. Kernel và giới hạn hệ thống

  • /etc/sysctl.conf

  • /etc/sysctl.d/

  • /etc/security/limits.conf

  • /etc/security/limits.d/

📌 Ảnh hưởng trực tiếp đến hiệu năng và ổn định.


4. Nhóm cấu hình dịch vụ cần backup

4.1. Web server

  • /etc/nginx/

  • /etc/apache2/


4.2. Application runtime

  • /etc/php/*/

  • /etc/java/

  • /etc/node/ (nếu có)


4.3. Database

  • /etc/mysql/

  • /etc/mariadb/

  • /etc/postgresql/

📌 Backup cấu hình DB giúp tránh lỗi hiệu năng và tương thích khi restore.


5. Những file KHÔNG nên backup nguyên trạng

  • File auto-generated

  • File cache

  • File phụ thuộc runtime cụ thể

  • File mặc định chưa chỉnh sửa

Ví dụ:

  • /etc/mtab

  • /etc/ld.so.cache

  • /etc/resolv.conf (trong nhiều hệ thống dùng DHCP)

📌 Backup bừa bãi làm restore khó hơn, không dễ hơn.


6. Cách backup /etc đúng cách

6.1. Cách đơn giản và an toàn

  • Tar chọn lọc

  • Ghi chú rõ nguồn gốc

6.2. Dùng version control (khuyến nghị)

  • Git cho /etc đã chỉnh sửa

  • Dễ so sánh

  • Dễ audit

  • Dễ rollback

📌 Không commit thông tin nhạy cảm nếu repo public.


7. Restore /etc như thế nào cho đúng?

Nguyên tắc restore:

  • Không ghi đè toàn bộ /etc

  • Áp dụng từng nhóm cấu hình

  • Test từng dịch vụ

Trình tự khuyến nghị:

  1. File hệ thống cơ bản

  2. SSH & truy cập

  3. Network

  4. Dịch vụ nền

  5. Web / DB


8. Sai lầm phổ biến khi backup /etc

  • Tar toàn bộ /etc rồi restore nguyên khối

  • Backup nhưng không biết file nào quan trọng

  • Không ghi chú thay đổi

  • Không test restore


9. Checklist backup /etc (tóm tắt)

Bắt buộc

  • hostname, hosts

  • fstab

  • sshd_config

  • cron

  • sudoers

  • sysctl, limits

Theo dịch vụ

  • Web

  • Runtime

  • Database


 

Backup /etc không nhằm lưu giữ toàn bộ cấu hình,
mà nhằm bảo toàn tri thức cấu hình của hệ thống.

Làm đúng ở /etc giúp:

  • Restore nhanh

  • Giảm rủi ro

  • Không phụ thuộc vào “trí nhớ cá nhân”