Bài 14: Backup và restore cơ bản

Bài 14: Backup và restore cơ bản

Bài này giúp anh hiểu backup đúng nghĩa: backup cái gì, ở đâu, giữ bao lâu và quan trọng nhất là restore được không.

Sau bài này anh sẽ biết:

  • Phân biệt backup file, config, database.
  • Dùng tar, rsync, dump database.
  • Thiết kế retention đơn giản.
  • Test restore thay vì chỉ tạo backup.

1. Backup không chỉ là copy file

Backup tốt phải trả lời: backup gì, lưu ở đâu, ai có quyền, giữ bao lâu, restore trong bao lâu và đã test chưa.

2. Những thứ thường cần backup

Loại Ví dụ
Config /etc/nginx, systemd unit, env file
Code/app /var/www/app
Database MySQL/PostgreSQL dump
Upload/data wp-content/uploads, user files

3. Lab: backup file bằng tar

mkdir -p ~/backup-lab/source
echo "hello" > ~/backup-lab/source/file.txt
tar -czf ~/backup-lab/source-backup.tar.gz -C ~/backup-lab source
ls -lh ~/backup-lab/source-backup.tar.gz

4. Lab: restore thử

mkdir -p ~/backup-lab/restore
tar -xzf ~/backup-lab/source-backup.tar.gz -C ~/backup-lab/restore
find ~/backup-lab/restore -type f -maxdepth 3 -print
cat ~/backup-lab/restore/source/file.txt

5. Backup bằng rsync

rsync -avh /var/www/ /backup/var-www/
rsync -avh --delete /var/www/ /backup/var-www/
Cẩn thận: --delete sẽ xóa file ở đích nếu nguồn không còn. Chỉ dùng khi hiểu rõ.

6. Tình huống thực tế

Website WordPress cần backup database, thư mục uploads, theme/plugin tùy chỉnh và config web server. Chỉ backup code là chưa đủ.

7. Lỗi thường gặp

  • Backup cùng ổ production, disk hỏng là mất cả backup.
  • Không mã hóa backup chứa dữ liệu nhạy cảm.
  • Không test restore.
  • Không có retention nên backup làm đầy disk.

8. Checklist backup

  • Xác định dữ liệu quan trọng.
  • Backup ra nơi khác server chính.
  • Có retention rõ: 7 ngày/4 tuần/12 tháng.
  • Test restore định kỳ.
  • Ghi tài liệu restore.

9. Bài tập

  1. Tạo backup tar cho một thư mục lab.
  2. Restore sang thư mục khác.
  3. So sánh file nguồn và file restore.
  4. Viết kế hoạch backup cho một website nhỏ.

Tác giả: Mạnh Hoàng

Tôi là Hoàng Mạnh, người sáng lập blog SysadminSkills.com. Tôi viết về quản trị hệ thống, bảo mật máy chủ, DevOps và cách ứng dụng AI để tự động hóa công việc IT. Blog này là nơi tôi chia sẻ những gì đã học được từ thực tế – đơn giản, ngắn gọn và áp dụng được ngay.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *