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 37. Cron, Systemd Timer và giám sát backup

ICT

1. Vì sao backup thủ công luôn thất bại?

Trong thực tế:

  • Backup chạy khi “nhớ”

  • Script chạy khi “rảnh”

  • Lỗi xảy ra khi “không ai để ý”

Kết quả:

Backup tồn tại trên giấy, không tồn tại trong vận hành.

📌 Tự động hóa và giám sát là điều kiện sống còn của backup.


2. Cron và Systemd Timer là gì trong backup?

2.1. Cron – cơ chế truyền thống

Cron:

  • Chạy theo lịch cố định

  • Đơn giản, phổ biến

  • Có mặt trên mọi Linux

📌 Cron là nền tảng, nhưng thiếu khả năng giám sát trạng thái.


2.2. Systemd Timer – thế hệ mới

Systemd Timer:

  • Gắn với service

  • Có log, trạng thái

  • Biết task có chạy hay không

📌 Systemd Timer phù hợp hơn cho backup quan trọng.


3. Khi nào dùng Cron, khi nào dùng Systemd Timer?

Tình huốngCronSystemd Timer
Script đơn giản
Backup quan trọng✔✔
Cần retry / status
Cần audit log

📌 Backup càng quan trọng → càng nên dùng Systemd Timer.


4. Thiết kế job backup đúng cách

Một job backup chuẩn phải:

  • Có log riêng

  • Có exit code rõ ràng

  • Không chạy chồng

  • Có timeout

📌 “Chạy được” chưa đủ, phải biết nó chạy thế nào.


5. Giám sát backup – phần hay bị bỏ quên nhất

Một backup không được giám sát thì:

  • Có thể đã dừng từ lâu

  • Có thể lỗi nhưng không ai biết

  • Có thể tạo file rỗng

Backup không giám sát = backup mù.


6. Các mức giám sát backup

6.1. Mức 1 – Kiểm tra job có chạy không

  • Log tồn tại

  • Timestamp cập nhật


6.2. Mức 2 – Kiểm tra job có thành công không

  • Exit code

  • Kết quả script


6.3. Mức 3 – Kiểm tra backup có giá trị không

  • File không rỗng

  • Dung lượng hợp lý

  • Có thể restore

📌 Mức 3 mới là giám sát thực sự có ý nghĩa.


7. Cảnh báo khi backup lỗi

Cảnh báo cần:

  • Đến đúng người

  • Đến đúng thời điểm

  • Không bị bỏ qua

Hình thức:

  • Email

  • Chat

  • Monitoring system

📌 Backup lỗi mà không ai biết = không có backup.


8. Chống chạy chồng và lỗi ngầm

Cần xử lý:

  • Job chạy quá lâu

  • Job treo

  • Job bị kill

Giải pháp:

  • Lock file

  • Timeout

  • Kill job cũ


9. Sai lầm phổ biến

  • Chỉ dùng cron, không log

  • Không kiểm tra exit code

  • Không giám sát dung lượng backup

  • Tin rằng “cron chạy là được”


10. Checklist triển khai cron / timer cho backup

BẮT BUỘC

  • Log riêng

  • Exit code

  • Lock chống trùng

  • Giám sát chạy

RẤT NÊN

  • Systemd Timer

  • Alert khi lỗi

  • Kiểm tra dung lượng


11. Liên hệ với hệ thống thực tế

Trong hệ thống:

  • Nhiều server

  • Nhiều job backup

  • Nhiều dữ liệu quan trọng

Không có giám sát:

  • Không biết server nào đã mất backup

  • Không biết backup nào đã hỏng


 

Backup không thất bại khi chạy sai,
mà thất bại khi lỗi xảy ra nhưng không ai biết.

Cron và Systemd Timer giúp backup chạy đều,
giám sát giúp backup có ý nghĩa.