หน้าหลัก › บทความ › กลยุทธ์ Backup VPS

กลยุทธ์ Backup VPS ที่ดี: 3-2-1 Rule และเครื่องมือที่ควรใช้

อัปเดต: 25 กันยายน 2568 · อ่าน 9 นาที · หมวด: VPS
กลยุทธ์ Backup VPS ด้วย 3-2-1 Rule สำหรับ Linux Server

สารบัญ

  1. ทำไมต้องมีกลยุทธ์ Backup ที่ชัดเจน
  2. 3-2-1 Backup Rule คืออะไร
  3. ประเภทของ Backup: Full, Incremental, Differential
  4. เครื่องมือ Backup VPS ที่แนะนำ
  5. วิธีตั้งค่า Backup ด้วย rsync + cron
  6. BorgBackup: Deduplication Backup สำหรับ VPS
  7. ความถี่ในการ Backup ที่เหมาะสม
  8. ทดสอบ Restore: สิ่งที่ทำมือใหม่มักข้าม
  9. คำถามที่พบบ่อย
  10. สรุป
สาระสำคัญ: Backup ที่ดีไม่ใช่แค่มีไฟล์สำรอง — ต้องมีกลยุทธ์ที่ครบ: หลายสำเนา, หลาย location, หลาย media type และ ทดสอบ restore จริง ก่อนเกิดเหตุฉุกเฉิน

1. ทำไมต้องมีกลยุทธ์ Backup ที่ชัดเจน

ความเสียหายของข้อมูลบน VPS เกิดได้จากหลายสาเหตุ ทั้งที่ป้องกันได้และป้องกันไม่ได้ ไม่ว่าจะเป็น hardware failure, ransomware, human error (ลบไฟล์ผิด), หรือ OS corruption หลังอัปเดตพลาด

ตัวเลขที่น่ากลัวจากงานวิจัยด้านความปลอดภัยข้อมูล:

AsiaGB VPS มี backup 2 ครั้งต่อเดือน (วันที่ 1 และ 15 ของเดือน) ซึ่งเป็น safety net ระดับ provider แต่สำหรับข้อมูลที่เปลี่ยนแปลงทุกวัน คุณต้องวางกลยุทธ์เพิ่มเติมเองด้วย

2. 3-2-1 Backup Rule คืออะไร

3-2-1 Rule คือมาตรฐานอุตสาหกรรมที่ใช้กันทั่วโลก มีความหมายดังนี้:

เลขความหมายตัวอย่าง
3มี 3 สำเนาของข้อมูลข้อมูลต้นฉบับ + backup local + backup remote
2เก็บบน 2 media type ต่างกันSSD (VPS) + Object Storage (S3/R2)
11 สำเนาต้องอยู่ offsiteCloudflare R2, Backblaze B2, หรือ VPS อีกเครื่อง
ทำไม 3-2-1 ถึงได้ผล? เพราะความน่าจะเป็นที่ข้อมูลจะหายพร้อมกันทั้ง 3 ที่ในเวลาเดียวกันนั้นแทบเป็นศูนย์ แม้จะเกิดไฟไหม้ datacenter หรือ ransomware ก็ยังมีสำเนา offsite รอดอยู่

3-2-1 ในทางปฏิบัติสำหรับ VPS ของคุณ

3. ประเภทของ Backup: Full, Incremental, Differential

ก่อนเลือกเครื่องมือ ต้องเข้าใจประเภท backup ก่อน:

ประเภทวิธีการพื้นที่เวลา Restoreเหมาะกับ
Full Backupสำเนาทุกไฟล์ทั้งหมดมากเร็วWeekly backup, initial backup
Incrementalสำเนาเฉพาะที่เปลี่ยนแปลงนับจาก backup ล่าสุดน้อยมากช้า (ต้องรวม chain)Daily backup
Differentialสำเนาทุกอย่างที่เปลี่ยนนับจาก Full ล่าสุดปานกลางปานกลางต้องการ restore เร็ว
สำหรับ VPS ทั่วไป: แนะนำ Full Backup รายสัปดาห์ + Incremental ทุกวัน เครื่องมืออย่าง BorgBackup จัดการ chain อัตโนมัติพร้อม deduplication

4. เครื่องมือ Backup VPS ที่แนะนำ

เครื่องมือจุดเด่นเหมาะกับยาก/ง่าย
rsyncมาพร้อม Linux, ไม่ต้องติดตั้ง, รองรับ SSHผู้เริ่มต้น, backup ง่ายๆ⭐ ง่าย
BorgBackupDeduplication, Encryption, CompressionProduction VPS, ต้องการประหยัด space⭐⭐ ปานกลาง
Resticรองรับ S3/B2/R2 โดยตรง, fast, cross-platformBackup ไปยัง Cloud Storage⭐⭐ ปานกลาง
Duplicatiมี GUI, Encrypted, รองรับ Cloudผู้ที่ต้องการ GUI⭐ ง่าย
mysqldump / pg_dumpBuilt-in สำหรับ MySQL/PostgreSQLDatabase backup โดยเฉพาะ⭐ ง่าย

5. วิธีตั้งค่า Backup ด้วย rsync + cron

rsync เป็นจุดเริ่มต้นที่ดีที่สุด ไม่ต้องติดตั้งเพิ่ม และเข้าใจง่าย

ขั้นตอนที่ 1: ตั้งค่า SSH Key Authentication

# บน VPS ต้นทาง สร้าง key pair
ssh-keygen -t ed25519 -C "backup-key" -f ~/.ssh/backup_key -N ""

# copy public key ไปยัง backup server
ssh-copy-id -i ~/.ssh/backup_key.pub user@backup-server

ขั้นตอนที่ 2: สร้าง backup script

#!/bin/bash
# /usr/local/bin/vps-backup.sh
DATE=$(date +%Y-%m-%d)
BACKUP_USER="backup"
BACKUP_HOST="backup-server.example.com"
BACKUP_PATH="/backups/myvps/$DATE"
LOG="/var/log/backup.log"

echo "[$DATE] Starting backup..." >> $LOG

rsync -avz --delete \
  -e "ssh -i /root/.ssh/backup_key -o StrictHostKeyChecking=no" \
  /var/www/ /etc/ /home/ \
  $BACKUP_USER@$BACKUP_HOST:$BACKUP_PATH/ >> $LOG 2>&1

if [ $? -eq 0 ]; then
  echo "[$DATE] Backup completed successfully" >> $LOG
else
  echo "[$DATE] Backup FAILED!" >> $LOG
fi

ขั้นตอนที่ 3: ตั้ง cron job ให้รันอัตโนมัติ

# crontab -e
# รันทุกคืน 02:00 AM
0 2 * * * /usr/local/bin/vps-backup.sh
เคล็ดลับ: เพิ่ม --exclude='/proc' --exclude='/sys' --exclude='/dev' --exclude='/tmp' เพื่อข้าม virtual filesystem และลดขนาด backup ที่ไม่จำเป็น

6. BorgBackup: Deduplication Backup สำหรับ VPS

BorgBackup เหมาะกับ VPS ที่ข้อมูลเปลี่ยนน้อยแต่ต้องเก็บ history นาน เพราะมีระบบ deduplication — ข้อมูลที่เหมือนกันจะเก็บแค่ครั้งเดียว ประหยัด storage ได้ 40–60%

ติดตั้งและใช้งาน BorgBackup

# ติดตั้ง
apt install borgbackup -y

# สร้าง repository (ครั้งแรกครั้งเดียว)
borg init --encryption=repokey user@backup-server:/backups/borg-repo

# Backup
borg create --stats --progress \
  user@backup-server:/backups/borg-repo::$(date +%Y-%m-%d) \
  /var/www /etc /home

# ดูรายการ archive ทั้งหมด
borg list user@backup-server:/backups/borg-repo

# Restore archive เฉพาะ date
borg extract user@backup-server:/backups/borg-repo::2026-09-20 \
  var/www/html/important.php

ตัดทิ้ง archive เก่าอัตโนมัติ (Pruning)

# เก็บ 7 วันล่าสุด, 4 สัปดาห์, 6 เดือน
borg prune --keep-daily=7 --keep-weekly=4 --keep-monthly=6 \
  user@backup-server:/backups/borg-repo

7. ความถี่ในการ Backup ที่เหมาะสม

ประเภทข้อมูลความถี่แนะนำวิธีที่เหมาะ
Database (MySQL/PostgreSQL)ทุก 4–6 ชั่วโมง หรือทุกวันmysqldump + cron, pt-online-schema-change
File uploads / user contentทุกวันrsync incremental หรือ Restic
Config files (/etc)ก่อนแก้ไขทุกครั้ง + รายสัปดาห์git + rsync
Application codeทุก deploy (ผ่าน Git)Git repository เป็น backup หลัก
System snapshotรายสัปดาห์VPS Snapshot จาก provider
⚠️ ข้อควรระวัง: Backup Database ควรใช้ mysqldump --single-transaction เพื่อ lock-free backup ที่ consistent หากใช้ InnoDB ไม่ควร copy ไฟล์ .ibd ขณะ MySQL ยังรัน

8. ทดสอบ Restore: สิ่งที่ทำมือใหม่มักข้าม

การมี backup แต่ไม่เคยทดสอบ restore เหมือนซื้อประกันที่ไม่เคยอ่านเงื่อนไข — ไม่รู้ว่าใช้ได้จริงหรือเปล่าจนกว่าจะเกิดเหตุ

Checklist ทดสอบ Restore ทุก 3 เดือน

RTO และ RPO: ตั้ง RTO (Recovery Time Objective) ว่าต้องกลับมา online ภายในกี่ชั่วโมง และ RPO (Recovery Point Objective) ว่ายอมรับข้อมูลหายได้ไม่เกินกี่ชั่วโมง แล้วออกแบบ backup schedule ให้สอดคล้อง

9. คำถามที่พบบ่อย

Q: AsiaGB VPS มี automatic backup ให้อยู่แล้ว ยังต้องทำ backup เองอีกไหม?
AsiaGB มี backup 2 ครั้ง/เดือน (วันที่ 1 และ 15) ซึ่งครอบคลุม disaster recovery ระดับ provider แต่ถ้าข้อมูลของคุณเปลี่ยนทุกวัน (เช่น e-commerce, blog) ควรตั้ง daily backup เพิ่มเองเพื่อให้ RPO ไม่เกิน 24 ชั่วโมง
Q: ควรเก็บ backup ไว้นานแค่ไหน?
ขึ้นอยู่กับประเภทข้อมูล โดยทั่วไปแนะนำ: Daily backup เก็บ 7 วัน, Weekly เก็บ 4 สัปดาห์, Monthly เก็บ 6–12 เดือน สำหรับข้อมูลที่มีข้อกำหนดกฎหมาย (เช่น การเงิน) อาจต้องเก็บ 5–7 ปี
Q: backup ไป Cloud Storage (S3/R2) ปลอดภัยไหม?
ปลอดภัยมากหากใช้ encryption ก่อน upload ทั้ง BorgBackup และ Restic มี client-side encryption ในตัว — ข้อมูลถูกเข้ารหัสบน VPS ของคุณก่อนส่งไป Storage ผู้ให้บริการ Cloud ไม่สามารถอ่านข้อมูลได้
Q: backup database ขณะรันอยู่ได้ไหม จะพัง transaction หรือเปล่า?
สำหรับ MySQL InnoDB ใช้ mysqldump --single-transaction เพื่อ consistent snapshot โดยไม่ lock table สำหรับ PostgreSQL ใช้ pg_dump ซึ่ง safe โดยธรรมชาติ ทั้งสองวิธีทำ backup ขณะ database รัน production ได้
Q: Restic กับ BorgBackup เลือกอันไหนดี?
Restic เหมาะกับ backup ไป Cloud Storage โดยตรง (S3, R2, B2) รองรับ concurrent access จากหลาย client ได้ BorgBackup เหมาะกับ backup ไป SSH server หรือ local disk และมีประสิทธิภาพ deduplication ดีกว่าในบางกรณี ทั้งสองมี encryption และ compression

สรุป: กลยุทธ์ Backup VPS ที่ดี

พร้อมเริ่มต้นกับ VPS ที่มั่นคง?
AsiaGB VPS ให้บริการ VPS ไทย / สิงคโปร์ พร้อม backup 2 ครั้ง/เดือน และ SSD storage ที่รวดเร็ว

ดู VPS ทั้งหมด