สำรองและกู้คืนไฟล์ใน /bw-data บน BrewInTH: รูปและไฟล์ของผู้ใช้ไม่หาย

ไฟล์ที่แอปเขียนใน /bw-data เช่น รูปที่ผู้ใช้อัปโหลดและ SQLite ลบแล้วไม่มีถังขยะ ดูวิธีเปิดสำรองรายวัน ดาวน์โหลด .tgz เก็บเอง และกู้คืนโดยไม่ทำไฟล์ใหม่หาย
เว็บของคุณให้ลูกค้าแนบสลิปโอนเงิน ให้สมาชิกอัปโหลดรูป หรือเก็บข้อมูลทั้งหมดไว้ในไฟล์ SQLite ไฟล์พวกนี้อยู่ในพื้นที่เก็บไฟล์ถาวร /bw-data จึงไม่หายเมื่อนำขึ้นเวอร์ชันใหม่ แต่ถ้าโค้ดเวอร์ชันใหม่ลบโฟลเดอร์ผิด สคริปต์ล้างไฟล์เก่าลบเกินไป หรือ AI รันคำสั่งแล้วเขียนทับไฟล์เดิม ไฟล์ที่หายจะไม่อยู่ในถังขยะของแท็บไฟล์ และไม่อยู่ในไฟล์สำรองของฐานข้อมูลด้วย
ตั้งแต่ 18 ตุลาคม 2026 BrewInTH มีแผง สำรองพื้นที่ถาวร (/bw-data) ให้สำรองไฟล์ทั้งพื้นที่ ดาวน์โหลดเก็บเอง และกู้คืนจากคอนโซลได้ บทความนี้บอกว่าระบบสำรองอะไรให้เมื่อไร ต้องซื้ออะไรเพิ่มไหม และกู้คืนอย่างไรไม่ให้ไฟล์ที่เพิ่งเข้ามาหายไปด้วย
สรุปสั้นก่อนอ่าน
💾 แผง สำรองพื้นที่ถาวร (/bw-data) อยู่ในแท็บ ตั้งค่าแอป ของโปรเจกต์ที่เปิดพื้นที่ถาวรไว้
✅ บริการเสริม Backups 99 บาทต่อเดือน สำรองให้ทุกวัน (เก็บ 7 ชุด) และเปิดปุ่ม สำรองตอนนี้ (เก็บ 5 ชุด)
🛟 ไม่มีบริการเสริม ระบบก็ยังสำรองให้เองก่อนกู้คืน ก่อนแทนไฟล์ข้อมูล และก่อนลดขนาดพื้นที่
📦 ไฟล์สำรองเป็น.tgzของทั้งพื้นที่ ดาวน์โหลดเก็บเองได้ และไม่นับในพื้นที่ของแพ็กเกจ
↩️ กู้คืน = แทนไฟล์ทั้งพื้นที่ด้วยชุดที่เลือก แอปหยุดชั่วครู่ และระบบเก็บสำเนาของตอนนี้ไว้ให้ก่อนเสมอ
ไฟล์ใน /bw-data ต่างจากของอื่นในโปรเจกต์ยังไง
ของในโปรเจกต์หนึ่งบน BrewInTH ย้อนกลับได้คนละทาง
- โค้ดและไฟล์ที่อัปโหลด ย้อนเวอร์ชันได้จากประวัติการเผยแพร่ และไฟล์ที่ลบในแท็บ ไฟล์ กู้คืนเองได้จากถังขยะ (กู้ไฟล์ที่ลบผิดจากถังขยะ)
- ฐานข้อมูล PostgreSQL, MySQL, MariaDB และ MongoDB มีไฟล์สำรองของตัวเองในแท็บ ฐานข้อมูล (สำรองและกู้คืนฐานข้อมูล)
- ไฟล์ที่แอปเขียนเองใน /bw-data เช่น รูปที่ผู้ใช้อัปโหลด สลิป ไฟล์ PDF และไฟล์ SQLite ไม่อยู่ในสองทางข้างบน แอปลบไฟล์ในพื้นที่นี้เมื่อไร ไฟล์หายทันที ทางย้อนกลับคือไฟล์สำรองของพื้นที่ถาวร
แผงนี้มีเฉพาะโปรเจกต์ที่เป็นแอป (ไม่ใช่เว็บ static) และเปิดพื้นที่ถาวรแล้ว ถ้ายังไม่เคยเปิด อ่าน วิธีเปิดพื้นที่เก็บไฟล์ถาวร (/bw-data) ก่อน
ไฟล์สำรองมาจากไหนบ้าง

เปิดโปรเจกต์ ไปที่แท็บ ตั้งค่าแอป แล้วเลื่อนลงใต้แผง พื้นที่เก็บไฟล์ถาวร (/bw-data) จะเจอแผง สำรองพื้นที่ถาวร (/bw-data) คอลัมน์ ประเภท ในตารางบอกว่าแต่ละชุดมาจากไหน
- รายวัน ระบบสำรองให้วันละครั้ง (ราว 24 ชั่วโมงหลังชุดล่าสุด) เก็บ 7 ชุดล่าสุด ต้องมีบริการเสริม Backups
- สั่งเอง ชุดที่คุณกด สำรองตอนนี้ เก็บ 5 ชุดล่าสุด ต้องมีบริการเสริม Backups
- ก่อนแทนไฟล์ข้อมูล เมื่อคุณติ๊ก ใช้ไฟล์ข้อมูลจากชุดนี้แทนข้อมูลบนเว็บ ในหน้า อัปโหลดแล้วขึ้นเว็บ ระบบสำรองทั้งพื้นที่ก่อน และเวอร์ชันใหม่รอจนสำรองเสร็จ เก็บ 3 ชุด (วิธีใช้หน้าอัปโหลดแล้วขึ้นเว็บ)
- ก่อนกู้คืน ระบบเก็บไฟล์ของตอนนี้ไว้ก่อนทุกครั้งที่กู้คืน เก็บ 3 ชุด
- ก่อนลดขนาด เมื่อคุณเลือกขนาดพื้นที่ถาวรที่เล็กลง ระบบสำรองให้ก่อนย้ายไฟล์ ชุดนี้อยู่จนกว่าคุณจะลบเอง ณ วันที่เขียน ตารางแสดงประเภทนี้เป็นคำว่า
pre_shrink
สามแบบหลังระบบทำให้แม้ไม่มีบริการเสริม ชุดที่เก่ากว่าจำนวนที่เก็บจะหายจากตาราง แต่ไฟล์ถูกย้ายไปถังขยะของเซิร์ฟเวอร์ ไม่ได้ลบทิ้งทันที
เปิดสำรองรายวัน และกดสำรองเอง
- ไปที่เมนู แพ็กเกจ / ชำระเงิน หัวข้อ ซื้อทรัพยากรเพิ่ม การ์ด Backups 99 บาทต่อเดือน กด สมัครใช้งาน (ต่ออายุอัตโนมัติ ยกเลิกได้) หรือเอาติ๊ก ต่ออายุอัตโนมัติทุกเดือน ออกแล้วกด ซื้อ 1 งวด บริการเสริมนี้ครอบคลุมทุกโปรเจกต์ในบัญชี และสำรองฐานข้อมูลให้ด้วย
- กลับมาที่แผง สำรองพื้นที่ถาวร (/bw-data) ช่อง สำรองอัตโนมัติทุกวัน (เก็บ 7 ชุด) ถูกติ๊กไว้ให้แล้ว โปรเจกต์ไหนไม่ต้องการก็เอาติ๊กออกได้
- กด สำรองตอนนี้ เพื่อได้ชุดแรกทันที แถวใหม่ขึ้นสถานะ อยู่ในคิว แล้วเป็น กำลังทำงาน และ เสร็จแล้ว พร้อมขนาดไฟล์ ข้างปุ่มบอกเวลา สำรองล่าสุด
ระหว่างสำรอง แอปทำงานต่อตามปกติ ไม่ต้องหยุดเว็บ ระบบทำได้ทีละงานต่อโปรเจกต์ ถ้ากดตอนงานเดิมยังไม่เสร็จ จะขึ้นว่ามีการสำรองหรือกู้คืนกำลังทำอยู่ ให้รอสักครู่
ขนาดรวมของไฟล์สำรองดูได้ที่แท็บ การใช้งาน หัวข้อ สำรองข้อมูล ไฟล์สำรองไม่นับในพื้นที่ของแพ็กเกจ แพ็กเกจนับเฉพาะไฟล์ที่อัปโหลด ไฟล์บนพื้นที่ถาวร และข้อมูลในฐานข้อมูล
ถ้าบริการเสริมหมดอายุ ระบบหยุดทำชุดรายวันและปุ่ม สำรองตอนนี้ จะกดไม่ได้ แต่ชุดที่มีอยู่ยังดาวน์โหลดและกู้คืนได้
ดาวน์โหลดไฟล์สำรองเก็บไว้ที่อื่น
กด ดาวน์โหลด ที่แถวที่ เสร็จแล้ว จะได้ไฟล์ชื่อแบบ brew-ab12c-bw-data-2026-10-31-07-00-00.tgz ขึ้นต้นด้วยรหัสโปรเจกต์ที่แสดงใต้ชื่อโปรเจกต์ ตามด้วยวันและเวลาไทยของชุดนั้น ในไฟล์มีทุกอย่างบนพื้นที่ถาวร ณ เวลานั้น
- ไฟล์ที่แอปเขียนไว้ที่
/bw-dataโดยตรง อยู่ชั้นบนสุด เช่นuploads/หรือapp.db - โฟลเดอร์ของแอปที่ระบบต่อไว้กับพื้นที่ถาวร เช่น
uploads/หรือdata/ที่หน้า อัปโหลดแล้วขึ้นเว็บ ตั้งให้ อยู่ใต้โฟลเดอร์app/เช่นapp/uploads/
ไฟล์ .tgz ดับเบิลคลิกเปิดได้บน Windows 11 และ macOS หรือใช้โปรแกรม 7-Zip หรือคำสั่ง tar -xzf ชื่อไฟล์.tgz
ไฟล์สำรองเก็บอยู่บนเซิร์ฟเวอร์ของ BrewInTH ข้อมูลสำคัญไม่ควรมีสำเนาอยู่ที่เดียว ดาวน์โหลดเก็บไว้ในคอมพิวเตอร์หรือคลาวด์ของคุณสักเดือนละครั้ง และเก็บให้ปลอดภัย เพราะในนั้นมีทุกไฟล์ที่ผู้ใช้ส่งเข้ามา
กู้คืนทั้งพื้นที่จากไฟล์สำรอง

- ในตาราง หาแถวของเวลาที่ไฟล์ยังครบ สถานะต้องเป็น เสร็จแล้ว แล้วกด กู้คืน
- กล่อง กู้คืนพื้นที่ถาวรจากไฟล์สำรองนี้? บอกเวลาของชุดนั้น พิมพ์ชื่อโปรเจกต์ในช่อง พิมพ์ชื่อโปรเจกต์เพื่อยืนยัน แล้วกด กู้คืนเดี๋ยวนี้
- ระบบเก็บไฟล์ของตอนนี้เป็นชุด ก่อนกู้คืน ก่อน ช่วงนี้เว็บยังเปิดได้
- จากนั้นแอปหยุด ระบบล้างไฟล์ทั้งหมดบนพื้นที่ถาวร แตกไฟล์จากชุดที่เลือกลงไป แล้วเริ่มแอปใหม่เอง ช่วงนี้ผู้เข้าเว็บเปิดเว็บไม่ได้ ไฟล์ยิ่งมากยิ่งนาน จึงควรกู้ตอนที่มีคนใช้น้อย
- เสร็จแล้วจะขึ้นข้อความว่ากู้คืนจากไฟล์สำรองเรียบร้อยแล้ว พร้อมรหัสของชุด ก่อนกู้คืน ที่ระบบเก็บไว้
กู้ผิดชุดก็ย้อนได้ กด กู้คืน ที่แถว ก่อนกู้คืน ที่เวลาตรงกับตอนที่คุณกดครั้งแรก พื้นที่ถาวรจะกลับเป็นเหมือนก่อนกู้คืน
สองเรื่องที่ต้องคิดก่อนกด
ไฟล์ที่เข้ามาหลังเวลาของชุดนั้นจะหายจากเว็บ การกู้คืนล้างพื้นที่ก่อนแตกไฟล์ ไม่ได้รวมไฟล์สองชุดเข้าด้วยกัน ถ้ากู้ชุดของเมื่อวาน รูปที่ลูกค้าอัปโหลดวันนี้จะไม่อยู่บนเว็บ แต่ยังอยู่ในชุด ก่อนกู้คืน ดาวน์โหลดชุดนั้นมาหยิบไฟล์ใหม่ออกได้
ฐานข้อมูลไม่ย้อนตาม ถ้าแอปเก็บชื่อไฟล์ไว้ในฐานข้อมูล เช่น ตารางสลิปที่ชี้ไป uploads/slip-123.jpg การกู้แค่ไฟล์อาจทำให้บางแถวชี้ไปไฟล์ที่ไม่มีแล้ว หรือมีไฟล์ที่ไม่มีแถวไหนใช้ ถ้าต้องย้อนทั้งคู่ ให้กู้ฐานข้อมูลจากชุดที่ใกล้เวลาเดียวกันในแท็บ ฐานข้อมูล ด้วย ชุดรายวันของสองที่ไม่ได้ทำพร้อมกัน ก่อนเปลี่ยนแปลงใหญ่จึงควรกด สำรองตอนนี้ ทั้งสองที่ติดกัน
อยากได้คืนแค่ไม่กี่ไฟล์
ปุ่มกู้คืนในคอนโซลแทนทั้งพื้นที่ ถ้าหายแค่ไม่กี่ไฟล์และหลังจากนั้นมีไฟล์ใหม่เข้ามาเยอะ อย่ากู้ทั้งพื้นที่ ดาวน์โหลดชุดเก่ามาหยิบไฟล์ที่ต้องการ แล้วส่งกลับเข้าเว็บผ่านหน้าแอดมินของแอป ถ้าแอปยังไม่มีหน้าแบบนี้ ให้ AI ทำให้ เช่น
แอปนี้เก็บไฟล์ที่ผู้ใช้อัปโหลดไว้ใต้ /bw-data/uploads
ทำหน้าแอดมินที่เข้าได้เฉพาะผู้ดูแล สำหรับอัปโหลดไฟล์กลับเข้าโฟลเดอร์เดิม
เขียนได้เฉพาะใต้ /bw-data/uploads ห้ามเขียนนอกโฟลเดอร์นี้
ถ้ามีไฟล์ชื่อเดียวกันอยู่แล้ว ให้ถามก่อนเขียนทับ
แอปที่ใช้ SQLite: ระวังสำเนาที่ไม่สมบูรณ์
ระบบแพ็กไฟล์ขณะแอปทำงาน ถ้ามีคนบันทึกข้อมูลพอดีตอนที่ไฟล์ฐานข้อมูลถูกอ่าน ไฟล์ .db ในชุดนั้นอาจไม่สมบูรณ์ เอกสารของ SQLite เตือนเรื่องการคัดลอกไฟล์ฐานข้อมูลระหว่างมีการเขียน และแนะนำคำสั่ง VACUUM INTO ซึ่งทำสำเนาได้ถูกต้องแม้ฐานกำลังใช้งาน
ทางที่ปลอดภัยคือให้แอปทำสำเนาเองไว้บนพื้นที่ถาวร ไฟล์สำรองของระบบจะมีสำเนาที่สมบูรณ์ติดไปด้วย ส่งข้อความนี้ให้ AI ที่ดูแลโค้ด
แอปนี้ใช้ SQLite ไฟล์ /bw-data/app.db (แก้เป็นไฟล์จริงของแอป)
เพิ่มการทำสำเนาวันละครั้งจากในโปรเซสของแอปเอง ด้วยคำสั่ง VACUUM INTO
เขียนไว้ที่ /bw-data/backups/app-YYYY-MM-DD.db และลบสำเนาที่เก่ากว่า 7 วัน
อย่าทำจาก container อื่นหรืองานตามเวลา เพราะ container อื่นมองไม่เห็นล็อกไฟล์ที่แอปถืออยู่
สำเนาเหล่านี้เป็นไฟล์บนพื้นที่ถาวร จึงนับในพื้นที่ของแพ็กเกจ เก็บไว้ไม่กี่ไฟล์ก็พอ และก่อนงานใหญ่ เช่น ย้ายข้อมูลหรือแก้โครงสร้างตาราง ให้กด สำรองตอนนี้ ตอนที่เว็บเงียบ
แผนสำรองไฟล์ที่แนะนำ

สิ่งที่ระบบทำให้เองคือชุดรายวันและชุดก่อนการเปลี่ยนแปลงที่ระบบรู้ ส่วนที่คุณต้องทำเองคือกดสำรองก่อนงานใหญ่ที่ระบบไม่รู้ล่วงหน้า เช่น ให้ AI รันสคริปต์ย้ายไฟล์ ดาวน์โหลดเก็บไว้นอก BrewInTH และลองแตกไฟล์ดูว่าใช้ได้จริง ไฟล์สำรองที่ไม่เคยลองเปิดยังไม่ใช่ไฟล์สำรองที่ไว้ใจได้
คำถามที่พบบ่อย
ไม่ได้ซื้อบริการเสริม Backups ยังสำรองได้ไหม
ได้เฉพาะชุดที่ระบบทำให้ก่อนกู้คืน ก่อนแทนไฟล์ข้อมูล และก่อนลดขนาด ชุดรายวันและปุ่ม สำรองตอนนี้ ต้องมีบริการเสริม ถ้ายังไม่ซื้อ ให้ AI ทำปุ่มดาวน์โหลดไฟล์ในหน้าแอดมินของแอป แล้วดาวน์โหลดเก็บเองเป็นประจำ
ระหว่างสำรอง เว็บหยุดไหม
ไม่หยุด การสำรองทำขณะแอปทำงาน มีแค่การกู้คืนที่หยุดแอปชั่วครู่
กดลบไฟล์สำรองผิด ทำยังไง
ปุ่ม ลบ ในตารางทำงานทันทีโดยไม่ถามซ้ำ ไฟล์ถูกย้ายไปถังขยะของเซิร์ฟเวอร์ ไม่ได้หายทันที ถ้าจำเป็นต้องใช้ ให้ คุยกับทีมงาน พร้อมบอกชื่อโปรเจกต์และเวลาของชุดนั้น
เว็บ static มีแผงนี้ไหม
ไม่มี เว็บ static ไม่ได้เขียนไฟล์เองจึงไม่มีพื้นที่ถาวร ไฟล์ของเว็บแบบนี้คือไฟล์ที่อัปโหลด ซึ่งย้อนได้จากประวัติการเผยแพร่และถังขยะของแท็บไฟล์
ทำไมกดสำรองหรือกู้คืนไม่ได้
ปุ่มสีจางพร้อมกล่องบอกว่าการสำรองข้อมูลเป็นบริการเสริม แปลว่ายังไม่มีบริการเสริม Backups ถ้าขึ้นว่ามีการสำรองหรือกู้คืนกำลังทำอยู่ ให้รองานเดิมเสร็จก่อน ถ้าขึ้นว่าเครื่องที่รันโปรเจกต์ยังไม่รองรับ ให้แจ้งทีมงาน
สรุป
ไฟล์ที่แอปเขียนใน /bw-data คือข้อมูลจริงของผู้ใช้ และไม่มีถังขยะเมื่อแอปลบเอง ซื้อบริการเสริม Backups ให้ระบบสำรองทุกวัน กด สำรองตอนนี้ ก่อนงานใหญ่ ดาวน์โหลด .tgz เก็บไว้นอก BrewInTH เป็นประจำ และก่อนกด กู้คืน ให้นึกถึงไฟล์ที่เข้ามาหลังเวลาของชุดนั้นกับฐานข้อมูลที่อาจต้องย้อนคู่กัน ระบบเก็บสำเนาของตอนนี้ไว้ให้ก่อนทุกครั้ง กดผิดก็ย้อนกลับได้
