รับเครดิต $200

สำรองข้อมูลบน DigitalOcean: Backups, Snapshots และแผนกู้คืน Droplet ที่ใช้ได้จริง

อัปเดตล่าสุด 3 พฤศจิกายน 2569 · อ่านประมาณ 7 นาที · โดย DigitalOcean Review ไทย

อธิบายความต่างระหว่าง Droplet Backups กับ Snapshots, วิธีเปิดใช้และกู้คืน, snapshot ของ Volume, การ dump ฐานข้อมูล, ส่งสำเนาออกนอกเครื่องไปยัง Spaces และกฎ 3-2-1 สำหรับเว็บไซต์ทุกขนาด

เปิดเผยข้อมูล: บทความนี้มีลิงก์แนะนำ (referral) ของ DigitalOcean หากคุณสมัครผ่านลิงก์ เจ้าของเว็บอาจได้รับเครดิต โดยคุณไม่เสียค่าใช้จ่ายเพิ่ม · อ่านนโยบายการรีวิว

ทำไมต้องวางแผนสำรองข้อมูลตั้งแต่วันแรก

เซิร์ฟเวอร์ล่มได้ ดิสก์เสียได้ คนลบไฟล์ผิดได้ และโดนแฮกก็เกิดขึ้นได้ DigitalOcean ดูแลฮาร์ดแวร์ให้ แต่ ข้อมูลในเครื่องเป็นความรับผิดชอบของผู้ใช้ (shared responsibility) การไม่มีแผนสำรองข้อมูลเป็นความเสี่ยงที่เกิดบ่อยที่สุดของมือใหม่ บทความนี้อธิบายเครื่องมือที่มีและวิธีผสมกันให้ครอบคลุม

เครื่องมือหลัก 3 แบบเทียบกัน

หัวข้อDroplet BackupsSnapshotsสำรองเอง (rsync/dump → Spaces)
ใครสั่งระบบอัตโนมัติตามรอบสั่งเองหรือสคริปต์/APIสคริปต์ของเรา cron
ความถี่ตามแผนที่เปิด (รายสัปดาห์เป็นพื้นฐาน; ตรวจตัวเลือกรายวันในหน้า Control Panel)ตามที่เราสั่งตามที่เราตั้งได้ละเอียดที่สุด
จำนวนที่เก็บระบบหมุนเวียนจำนวนจำกัดไม่จำกัดตามที่จ่ายตามที่เก็บ
ใช้กู้คืนทั้งเครื่อง หรือสร้าง Droplet ใหม่จาก backupทั้งเครื่อง หรือสร้าง Droplet ใหม่เฉพาะไฟล์/ฐานข้อมูลที่ต้องการ
ค่าใช้จ่ายเปอร์เซ็นต์ของราคา Dropletคิดตามขนาดข้อมูลที่เก็บตามพื้นที่ Spaces ที่ใช้
ข้อดีไม่ต้องทำอะไรทำก่อนอัปเกรดใหญ่ได้ทันทีย้ายออกนอกระบบ ละเอียดสุด
ข้อจำกัดจุดกู้คืนห่างกันต้องสั่งเองต้องเขียนและทดสอบสคริปต์เอง

ตัวเลขเปอร์เซ็นต์ค่า Backups และราคา Snapshots เปลี่ยนได้ ให้ดูหน้า Pricing ของ DigitalOcean และสรุปต้นทุนรวมที่ ราคา DigitalOcean ทุกบริการ

รับเครดิตฟรี $200 (ใช้ได้ 60 วัน)สมัคร DigitalOcean ผ่านลิงก์แนะนำของเรา แล้วเพิ่มวิธีชำระเงินที่ใช้งานได้ ระบบจะให้เครดิตทดลองใช้งาน ตามเงื่อนไขของ DigitalOcean ณ วันที่สมัคร
สมัครรับเครดิต $200 →

Droplet Backups

เปิดใช้

  • ตอนสร้าง Droplet: ติ๊กตัวเลือก Enable Backups ในขั้นตอนเพิ่ม option
  • เปิดภายหลัง: เลือก Droplet → แท็บ Backups → Enable

ระบบจะถ่ายสำเนาทั้งดิสก์ตามรอบโดยอัตโนมัติ และเก็บชุดล่าสุดตามจำนวนที่แผนกำหนด

ข้อควรรู้

  1. Backup ถ่ายขณะเครื่องทำงานอยู่ จึงเป็นแบบ crash-consistent ไม่รับประกันว่าฐานข้อมูลที่กำลังเขียนจะอยู่ในสภาพสมบูรณ์ ควรมี dump ฐานข้อมูลแยกต่างหาก
  2. ถ้าลบ Droplet ทิ้ง backup ที่ผูกกับ Droplet นั้นจะหายไปด้วย
  3. Backup ไม่ครอบคลุม Volume ที่ต่อเพิ่ม (ต้องทำ snapshot แยก)
  4. จุดกู้คืนห่างกันตามรอบ ถ้าต้องการสูญเสียข้อมูลน้อยกว่านั้น ต้องสำรองเพิ่มเอง

Snapshots

Snapshot คือภาพจำลองของดิสก์ ณ ขณะที่สั่ง เก็บอยู่แยกจาก Droplet แม้ลบ Droplet แล้ว snapshot ยังอยู่ (และยังคิดค่าเก็บ)

สร้าง snapshot

  1. (แนะนำ) หยุดบริการที่เขียนข้อมูล หรือ Power off Droplet เพื่อให้ข้อมูลสอดคล้องกันที่สุด
  2. เลือก Droplet → Snapshots → ตั้งชื่อ → Take Snapshot
  3. รอจนเสร็จ (ขึ้นกับขนาดข้อมูล)

หรือใช้ doctl (CLI ของ DigitalOcean)

doctl compute droplet-action snapshot DROPLET_ID --snapshot-name "before-upgrade-2026-11-04" --wait
doctl compute snapshot list

ใช้ snapshot ทำอะไรได้บ้าง

  • ก่อนอัปเกรดระบบ/ปลั๊กอินใหญ่ ถ้าพังก็กู้กลับได้
  • สร้างเซิร์ฟเวอร์ที่เหมือนกัน (clone) จาก snapshot เพื่อทดสอบหรือขยายเครื่อง
  • ย้ายภูมิภาค ส่งสำเนา snapshot ไปภูมิภาคอื่นแล้วสร้าง Droplet ใหม่ที่นั่น

เก็บ snapshot ให้ไม่บวมค่าใช้จ่าย

  • ตั้งชื่อใส่วันที่และเหตุผล
  • ลบ snapshot ที่เก่าเกินความจำเป็นเป็นประจำ
  • ตั้งเตือนทบทวนรายการทุกเดือน ดูแนวทางลดต้นทุนอื่นที่ 15 วิธีลดค่าใช้จ่าย DigitalOcean

Volume Snapshots

ข้อมูลบน Block Storage Volume ต้อง snapshot แยกจาก Droplet ที่ต่ออยู่ ไปที่ Volumes → เลือก Volume → Snapshots ถ้า Volume เก็บฐานข้อมูล ควร flush หรือหยุดบริการสั้นๆ ก่อนสั่ง

สำรองฐานข้อมูลและไฟล์ด้วยตัวเอง

วิธีนี้ละเอียดและย้ายออกนอกเครื่องได้ เหมาะเป็นชั้นที่สองต่อจาก Backups/Snapshots

dump MySQL/MariaDB

mysqldump --single-transaction --routines --triggers -u USER -p DBNAME | gzip > /var/backups/db-$(date +%F).sql.gz

dump PostgreSQL

pg_dump -U USER DBNAME | gzip > /var/backups/pg-$(date +%F).sql.gz

ส่งไป Spaces ด้วย s3cmd/rclone

ตั้ง rclone ให้ชี้ที่ Spaces (S3-compatible) ตามคู่มือใน คู่มือ Spaces Object Storage แล้ว

rclone copy /var/backups spaces:my-backup-bucket/server1 --max-age 2d

ตั้งตารางด้วย cron

# สำรองทุกวัน 03:15
15 3 * * * /home/deploy/backup.sh >> /var/log/backup.log 2>&1

ใน backup.sh ให้ dump → บีบอัด → อัปโหลด → ลบไฟล์ในเครื่องที่เก่ากว่า 7 วัน และอย่าลืมใช้ set -e

Managed Database ของ DigitalOcean มี backup อัตโนมัติและ point-in-time recovery ให้ในตัว ตามแผนที่เลือก ดู คู่มือ Managed Databases ถ้าไม่อยากดูแลเอง

กฎ 3-2-1 สำหรับ Droplet

  • 3 สำเนาของข้อมูล (ของจริง + 2 สำเนา)
  • 2 สื่อเก็บที่ต่างกัน (เช่น ดิสก์ Droplet + Spaces)
  • 1 สำเนาอยู่นอกที่เดียวกัน (เช่น คนละภูมิภาคหรือคนละผู้ให้บริการ)

แผนขั้นต่ำที่แนะนำสำหรับเว็บทั่วไป

  1. เปิด Droplet Backups
  2. dump ฐานข้อมูลทุกวัน ส่งไป Spaces
  3. snapshot ก่อนการเปลี่ยนแปลงใหญ่
  4. เก็บสำเนารายสัปดาห์ไว้นอกบัญชี DigitalOcean (เช่น ดาวน์โหลดลงเครื่องหรือคลาวด์อื่น)

ทดสอบการกู้คืน (ส่วนที่คนมักข้าม)

Backup ที่ไม่เคยลองกู้ ก็ไม่ใช่ backup ให้ทดสอบอย่างน้อยทุกไตรมาส

  1. สร้าง Droplet ทดสอบจาก snapshot/backup
  2. ตรวจว่าเว็บ ฐานข้อมูล และไฟล์อัปโหลดทำงานครบ
  3. ลองนำ dump ฐานข้อมูลไปกู้ในฐานข้อมูลเปล่า
  4. จดเวลาที่ใช้กู้จริง (RTO) และข้อมูลที่ขาดหายไป (RPO)
  5. ลบเครื่องทดสอบทิ้งเพื่อไม่เสียค่าใช้จ่ายต่อ

ตัวอย่างแผนตามประเภทเว็บ

ประเภทแผนแนะนำ
บล็อกส่วนตัวBackups + dump รายสัปดาห์
ร้านค้า/WooCommerceBackups + dump ทุกวัน + ส่ง Spaces + snapshot ก่อนอัปเดต ดู ติดตั้ง WordPress บน DigitalOcean
แอปที่มีผู้ใช้เยอะManaged Database + backup ไฟล์ไป Spaces + Runbook กู้ระบบ
คอนเทนเนอร์สำรอง volume และไฟล์ compose ใน Git ดู ติดตั้ง Docker บน Droplet

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

Snapshot กับ Backup อย่างไหนดีกว่า

ไม่ได้แทนกัน Backups สะดวกเพราะอัตโนมัติ Snapshots ยืดหยุ่นเพราะสั่งได้ทุกเมื่อ ใช้ร่วมกันดีที่สุด และต้องมี dump ฐานข้อมูลเพิ่มสำหรับข้อมูลสำคัญ

กู้ไฟล์เดียวจาก Backup ได้ไหม

โดยทั่วไป Backup/Snapshot ของ Droplet กู้ทั้งเครื่อง วิธีเอาไฟล์เดียวคือสร้าง Droplet ชั่วคราวจาก backup แล้วคัดลอกไฟล์ออกมา

ลบ Droplet แล้ว snapshot ยังคิดเงินไหม

ใช่ snapshot ยังอยู่และยังคิดค่าเก็บตามขนาด ลบเองเมื่อไม่ต้องการแล้ว

ถูกแฮกแล้วใช้ Backup กู้ได้ไหม

กู้ได้ แต่ต้องเลือกจุดก่อนถูกเจาะ และต้องอุดช่องโหว่ เปลี่ยนรหัสผ่านและคีย์ทั้งหมดก่อนเปิดให้บริการอีกครั้ง ดูแนวป้องกันที่ คู่มือความปลอดภัยเซิร์ฟเวอร์

รับเครดิตฟรี $200 (ใช้ได้ 60 วัน)สมัคร DigitalOcean ผ่านลิงก์แนะนำของเรา แล้วเพิ่มวิธีชำระเงินที่ใช้งานได้ ระบบจะให้เครดิตทดลองใช้งาน ตามเงื่อนไขของ DigitalOcean ณ วันที่สมัคร
สมัครรับเครดิต $200 →