1. Vì sao backup thường “chết trong im lặng”?
Rất nhiều hệ thống gặp tình trạng:
Backup script vẫn tồn tại
Cron / timer vẫn chạy
Nhưng backup đã lỗi từ nhiều ngày, nhiều tuần
Lý do phổ biến nhất:
Không có logging đủ chi tiết,
không có cảnh báo,
và không ai chịu trách nhiệm theo dõi lỗi.
📌 Backup thất bại hiếm khi gây lỗi ngay, mà gây thảm họa khi cần restore.
2. Logging trong backup là gì và để làm gì?
Logging trong backup nhằm trả lời 3 câu hỏi cơ bản:
Backup có chạy hay không?
Backup có thành công hay không?
Backup đã tạo ra cái gì?
📌 Nếu log không trả lời được 3 câu hỏi này, log đó không có giá trị vận hành.
3. Nguyên tắc thiết kế log cho backup
Một hệ thống log backup tốt phải:
Ghi rõ thời gian bắt đầu – kết thúc
Ghi rõ đối tượng backup
Ghi rõ kết quả (success / failure)
Ghi rõ lỗi cụ thể nếu có
Có thể truy vết lại theo thời gian
📌 Log phải phục vụ con người, không chỉ phục vụ máy.
4. Những gì BẮT BUỘC phải log trong backup
4.1. Thông tin chung
Thời điểm chạy
Server / hostname
Loại backup (daily, weekly…)
4.2. Kết quả thực thi
Exit code
Trạng thái thành công / thất bại
Thời gian chạy
4.3. Kết quả dữ liệu
File backup tạo ra
Dung lượng
Vị trí lưu trữ
📌 File backup dung lượng 0 hoặc quá nhỏ là dấu hiệu nguy hiểm.
5. Cảnh báo (Alerting) – phần không thể thiếu
Logging giúp biết lại,
cảnh báo giúp biết ngay.
Backup lỗi mà không cảnh báo = không có backup.
6. Khi nào cần cảnh báo?
Cần cảnh báo khi:
Backup không chạy
Backup chạy nhưng lỗi
Backup tạo file bất thường
Backup vượt thời gian cho phép
Không có backup mới trong khoảng thời gian định nghĩa
📌 Cảnh báo phải dựa trên kỳ vọng vận hành, không chỉ dựa trên exit code.
7. Nguyên tắc thiết kế cảnh báo hiệu quả
Một cảnh báo tốt phải:
Đến đúng người
Đến đúng thời điểm
Nội dung đủ để xử lý
Không spam
📌 Cảnh báo bị bỏ qua nhiều lần = cảnh báo vô nghĩa.
8. Kiểm soát lỗi trong backup
8.1. Phân loại lỗi
Lỗi tạm thời (network, timeout)
Lỗi cấu hình
Lỗi dữ liệu
Lỗi quyền truy cập
Lỗi dung lượng
📌 Không phải lỗi nào cũng cần xử lý giống nhau.
8.2. Retry có kiểm soát
Retry có giới hạn
Không retry vô hạn
Ghi log rõ retry
📌 Retry không kiểm soát có thể che giấu lỗi thật.
9. Kiểm soát lỗi ngầm (Silent Failure)
Một số lỗi nguy hiểm nhất:
Backup chạy “thành công” nhưng file rỗng
Backup chỉ sao chép một phần
Backup bỏ qua file do permission
Giải pháp:
Kiểm tra dung lượng tối thiểu
Kiểm tra số lượng file
So sánh với kỳ trước
📌 Silent failure nguy hiểm hơn failure rõ ràng.
10. Gắn logging và alert với trách nhiệm
Backup phải:
Có người chịu trách nhiệm
Có người nhận cảnh báo
Có quy trình xử lý lỗi
📌 Backup không có owner = backup không ai bảo vệ.
11. Sai lầm phổ biến
Chỉ log stdout
Không log lỗi chi tiết
Có log nhưng không ai đọc
Có cảnh báo nhưng không ai nhận
12. Checklist logging và cảnh báo backup
BẮT BUỘC
Log chi tiết
Exit code rõ
Cảnh báo khi lỗi
Kiểm tra backup mới nhất
RẤT NÊN
So sánh dung lượng
Theo dõi thời gian chạy
Tổng hợp báo cáo định kỳ
13. Liên hệ với vận hành thực tế
Trong hệ thống:
Nhiều server
Nhiều job backup
Nhiều loại dữ liệu
Không có logging và alert:
Không biết server nào đã mất backup
Không biết lỗi xảy ra từ khi nào
Không thể audit
Backup không thất bại khi gặp lỗi,
mà thất bại khi lỗi xảy ra nhưng không ai biết.
Logging giúp nhìn lại,
cảnh báo giúp phản ứng kịp thời,
kiểm soát lỗi giúp backup đáng tin cậy theo thời gian.
- Đăng nhập để gửi ý kiến