คู่มือกู้คืนเว็บไซต์แบบสแตนด์อโลน
วิธีกู้คืนข้อมูลและสื่อของเว็บไซต์แบบสแตนด์อโลนด้วยเครื่องมือของผู้ให้บริการเอง Dee Wan ไม่มีบริการสำรองข้อมูล โครงการนี้ยังไม่เคยรันขั้นตอนใดในหน้านี้กับ deployment จริง ซ้อมกับสำเนาที่ทิ้งได้ก่อนพึ่งพาขั้นตอนเหล่านี้
คำสั่ง Wrangler ด้านล่างเป็นของ Cloudflare ตรวจกับเอกสารอ้างอิงคำสั่ง Wrangler ของ D1 และ R2 คู่มือนำเข้าและส่งออก D1 และเอกสารอ้างอิง D1 Time Travel เมื่อ 2026-09-23 รีโพซิทอรีนี้รันเองเฉพาะ wrangler d1 export (scripts/d1.ts)
สิ่งที่ต้องกู้คืน
หัวข้อที่มีชื่อว่า “สิ่งที่ต้องกู้คืน”| ส่วน | อยู่ที่ไหน | กู้คืนด้วย |
|---|---|---|
| โค้ด | รีโพซิทอรีของคุณ | Git คอมมิตระบุโค้ดชุดนั้น |
| แถวเนื้อหาที่สร้าง | ตารางที่สร้างในฐานข้อมูล D1 ของคุณ | โหลด snapshot ที่คอมมิตใหม่ (npm run data:load) หรือกู้คืนฐานข้อมูล |
| แถวของคุณเอง | ตารางของคุณเองในฐานข้อมูล D1 เดียวกัน | กู้คืนฐานข้อมูลเท่านั้น |
| สื่อ | R2 bucket ของคุณ หากคุณย้ายสื่อมาอยู่ในความดูแลของคุณแล้ว | สำเนาอ็อบเจกต์ของคุณเอง |
| Secret | repository secret และ Worker secret ของคุณ | ที่เก็บ secret ของคุณ ห้ามอยู่ในไฟล์สำรอง |
การย้อนกลับโค้ดในส่วน การตั้งค่า ไม่ได้กู้คืนแถวหรือสื่อข้างต้นเลย
เก็บข้อมูลสำรอง
หัวข้อที่มีชื่อว่า “เก็บข้อมูลสำรอง”หยุดกระบวนการที่เขียนข้อมูลก่อน ได้แก่ งานของคุณเองและการดีพลอยจาก CMS มายังเว็บไซต์นี้
ส่งออกฐานข้อมูลเป็นไฟล์:
npx wrangler d1 export <database-name> --remote --output backup-<date>.sqlระหว่างส่งออก คำขออื่นที่เข้าฐานข้อมูลจะถูกบล็อก และ Cloudflare ไม่ส่งออกฐานข้อมูลที่มี virtual table ค่าตัวเลขผ่าน number ของ JavaScript จำนวนเต็มที่เกินความแม่นยำ 52 บิตจึงอาจเปลี่ยน
บันทึกคอมมิตของรีโพซิทอรีที่ดีพลอยอยู่ เวลาส่งออก และ checksum ของไฟล์ สำหรับสื่อ คัดลอกอ็อบเจกต์ทุก key ที่อยู่ใน data/media-manifest.json ออกจาก bucket เช่นด้วย npx wrangler r2 object get <bucket>/<key> --remote --file <path> เก็บสำเนาไว้นอก bucket
กู้คืนในสภาพแวดล้อมแยกก่อน
หัวข้อที่มีชื่อว่า “กู้คืนในสภาพแวดล้อมแยกก่อน”สร้างฐานข้อมูลใหม่และโหลดไฟล์ส่งออกเข้าไป:
npx wrangler d1 create <restore-database-name>npx wrangler d1 execute <restore-database-name> --remote --file backup-<date>.sqldeployment ที่สร้างหาฐานข้อมูลของตัวเองจากการตั้งค่า และโครงการนี้ไม่มีคำสั่งที่ชี้ไปยังสำเนาที่กู้คืน ให้ชี้การตั้งค่า Worker แยกที่ไม่ใช่ production ไปยังฐานข้อมูลที่กู้คืนเอง ดีพลอยคอมมิตที่บันทึกไว้ แล้วตรวจโดยมี API_BEARER_TOKEN ใน environment:
npm run verify:deployment -- --origin 'https://restore.example.com' --expect-commit <full-commit-sha>npm run verify:mediaverify:deployment เทียบเนื้อหาที่ดีพลอยกับ snapshot ที่คอมมิต verify:media ตรวจการอ้างอิงสื่อใน projection ที่คอมมิต ไม่ได้ดาวน์โหลดไบต์ เปิดหน้าและสื่อตัวอย่างด้วยตัวเอง
กู้คืนฐานข้อมูล D1 ณ เวลาที่กำหนด
หัวข้อที่มีชื่อว่า “กู้คืนฐานข้อมูล D1 ณ เวลาที่กำหนด”Cloudflare D1 Time Travel กู้คืนฐานข้อมูลในที่เดิมไปยังเวลาก่อนหน้า: ย้อนได้สูงสุด 30 วันบนแพ็กเกจ Workers Paid และ 7 วันบนแพ็กเกจ Workers Free --timestamp รับ Unix timestamp หรือเวลา RFC 3339 ที่มี timezone --bookmark รับ bookmark ที่ info แสดง
npx wrangler d1 time-travel info <database-name>npx wrangler d1 time-travel restore <database-name> --timestamp <time>คำสั่งนี้เขียนทับฐานข้อมูลจริง รวมถึงตารางของคุณเอง และยกเลิก query ที่กำลังทำงาน ส่งออกก่อน สคีมาที่กู้คืนอาจเก่ากว่าโค้ดที่ดีพลอย ตรวจว่า migration ของคอมมิตที่ดีพลอยตรงกับฐานข้อมูลที่กู้คืนก่อนให้บริการ traffic จากฐานนั้น
กู้คืนสื่อ
หัวข้อที่มีชื่อว่า “กู้คืนสื่อ”นำอ็อบเจกต์ที่คัดลอกไว้กลับใส่ด้วย key เดิมด้วย npx wrangler r2 object put <bucket>/<key> --remote --file <path> ขณะที่ CMS ยังถือสื่ออยู่ npm run backend:deliver พร้อม --media จะย้ายสื่อสาธารณะปัจจุบันของ CMS เป็นส่วนหนึ่งของการสร้างและส่งมอบแบบเต็ม คำสั่งนี้นำสื่อที่ CMS ไม่มีแล้วกลับมาไม่ได้
สลับใช้งาน
หัวข้อที่มีชื่อว่า “สลับใช้งาน”ชี้ production ไปยังสำเนาที่แยกไว้ หรือทำการกู้คืนซ้ำบน production หลังสำเนานั้นผ่านการตรวจเท่านั้น เก็บฐานข้อมูลเดิมไว้จนเจ้าของยอมรับผล เปิดกระบวนการที่เขียนข้อมูลกลับเป็นขั้นตอนสุดท้าย
ที่เกี่ยวข้อง: การย้อนกลับและการกู้คืน, การสำรองและกู้คืน CMS, คู่มือการแยกออก
ขั้นตอนถัดไป
หัวข้อที่มีชื่อว่า “ขั้นตอนถัดไป”ดู route การยืนยันตัวตน และพฤติกรรมการดีพลอยได้ใน เอกสารอ้างอิง API
ยังไม่เปิดตัว (pre-MVP) และยังไม่มีเวอร์ชันเสถียร
คอมมิตซอร์สโค้ด: fe23db481c422b40e317b92fc98116b4c0c26a87 (มีการแก้ไขที่ยังไม่คอมมิต)
วันที่สร้างเอกสาร (UTC): 2026-10-18T09:22:34.630Z
คอมมิตสำหรับอัปเกรด: ระบุไม่ได้: มีการแก้ไขที่ยังไม่คอมมิต. บันทึกการเปลี่ยนแปลง