CHƯƠNG 04 · Volumes & Data Persistence•BÀI 15 / 80

Backup và restore có kiểm chứng

Có file backup không đồng nghĩa có khả năng khôi phục.

Nền tảng◷ 4 phút đọc3/4 trong chương

Nắm bản chất

Volume persistence bảo vệ khỏi việc thay container, nhưng không bảo vệ đủ trước xóa nhầm, corruption, ransomware hoặc mất ổ đĩa. Với PostgreSQL, một phương án học tập là pg_dump -Fc tạo custom-format dump và pg_restore vào database kiểm thử riêng.

Production còn cần lịch sao lưu, retention, offsite copy, encryption, restore drills và mục tiêu RPO/RTO. Backup phải được thử phục hồi định kỳ; chỉ kiểm tra file tồn tại là chưa đủ.

Luồng hoạt động

pg_dump→backup artifact→restore test

Hãy tự giải thích mỗi mũi tên: dữ liệu, quyền hoặc tín hiệu nào được truyền qua bước này?

Lệnh & cấu hình mẫu

docker compose exec -T db pg_dump -U app -d appdb -Fc > backup.dump
# Tạo database lab phục hồi, không ghi đè database gốc:
docker compose exec -T db createdb -U app restore_check
docker compose exec -T db pg_restore -U app -d restore_check   --no-owner < backup.dump

Lệnh có placeholder hoặc phụ thuộc môi trường thì cần thay thông tin thực tế, kiểm tra quyền và chỉ thực hiện trên tài nguyên được phép.

Bài tập 10–20 phút

✳

Tạo dữ liệu mẫu, backup, restore sang restore_check, so sánh số bản ghi và xác minh một vài truy vấn nghiệp vụ. Ghi lại backup timestamp và kết quả.

Lỗi dễ mắc

!

Không chạy restore vào production database đang hoạt động chỉ để “thử”. Cần môi trường cô lập và kế hoạch tránh mất dữ liệu.

Tự kiểm tra

Vì sao restore verification quan trọng hơn chỉ kiểm tra file `.dump` tồn tại?Xem đáp án ↗

Vì file có thể không chứa đủ dữ liệu, không đọc được hoặc không tương thích khi khôi phục.

TÀI NGUYÊN ĐI KÈM

Học thêm qua lab

Bài học nền tảng có thể thực hiện trực tiếp bằng các lệnh trên; bảng tra cứu nhanh giúp ôn tập.

→ Mở bảng lệnh tra cứu nhanh
NGUỒN CHÍNH THỨC

Đối chiếu tài liệu gốc

Cú pháp và khả năng hỗ trợ có thể thay đổi theo phiên bản. Trước khi dùng Production, hãy kiểm tra tài liệu tương ứng.

Mở tài liệu chính thức ↗