สำรองข้อมูลและอัปเดต
สำรองฐานข้อมูล กู้คืน อัปเดตเวอร์ชัน และย้ายเซิร์ฟเวอร์
สำรองข้อมูล
ไปที่ ผู้ดูแลระบบ → สำรองข้อมูล

| ปุ่ม | ทำอะไร | ใช้เมื่อไร |
|---|---|---|
| ดาวน์โหลดไฟล์สำรอง (.sql) | สร้างไฟล์แล้วดาวน์โหลดลงเครื่องทันที | ก่อนอัปเดต ก่อนแก้ข้อมูลจำนวนมาก และตามรอบประจำ |
| บันทึกเก็บไว้บนเซิร์ฟเวอร์ | เก็บไฟล์ไว้บนเซิร์ฟเวอร์ ดาวน์โหลดทีหลังได้ | สำรองเร็ว ๆ ก่อนทำงานที่เสี่ยง |
สำรองอะไรบ้าง
| ส่วน | อยู่ที่ไหน | สำรองอย่างไร |
|---|---|---|
| ฐานข้อมูล | MySQL | ใช้หน้าสำรองข้อมูลในระบบ หรือ mysqldump |
| ไฟล์ที่อัปโหลด | โฟลเดอร์ resource/ | คัดลอกทั้งโฟลเดอร์ (วิดีโอ เอกสาร รูปโปรไฟล์ ปกรายวิชา) |
| ไฟล์ตั้งค่า | core/config.local.php | คัดลอกไฟล์เดียว |
resource/ แยกต่างหากด้วย มิฉะนั้นวิดีโอ เอกสาร และรูปทั้งหมดจะหายไปสำรองแยกเฉพาะระบบโรงเรียน
หน้า ระบบนักเรียน → สำรองข้อมูล ส่งออกเฉพาะตารางของระบบโรงเรียนและข้อสอบ ใช้ตอนต้องการส่งข้อมูลให้หน่วยงานอื่นโดยไม่ต้องส่งทั้งระบบ

รอบการสำรองที่แนะนำ
| ลักษณะการใช้งาน | ความถี่ | เก็บย้อนหลัง |
|---|---|---|
| ใช้งานทุกวัน มีคะแนนและการเงิน | ทุกวัน | อย่างน้อย 30 วัน |
| ใช้เฉพาะช่วงภาคเรียน | ทุกสัปดาห์ + ก่อนวันสำคัญ | ตลอดปีการศึกษา |
| ก่อนอัปเดตระบบ | ทุกครั้ง | จนกว่าจะแน่ใจว่าเวอร์ชันใหม่ไม่มีปัญหา |
| ก่อนนำเข้าข้อมูลจำนวนมาก | ทุกครั้ง | จนกว่าจะตรวจผลนำเข้าเรียบร้อย |
| สิ้นปีการศึกษา | 1 ครั้ง | เก็บถาวร |
กู้คืนข้อมูล
การกู้คืนไม่มีปุ่มในระบบ ต้องทำผ่านเครื่องมือจัดการฐานข้อมูล
แจ้งผู้ใช้ให้หยุดใช้งาน เพื่อไม่ให้มีข้อมูลใหม่เข้ามาระหว่างกู้คืน
แม้ข้อมูลจะเสียหาย ก็ควรเก็บสำเนาไว้ก่อน เผื่อกู้คืนแล้วผลไม่เป็นอย่างที่คิด
ผ่าน phpMyAdmin หรือคำสั่ง mysql -u ผู้ใช้ -p ชื่อฐานข้อมูล < ไฟล์.sql
คัดลอกกลับให้ตรงกับช่วงเวลาของไฟล์ฐานข้อมูลที่กู้คืน
เข้าสู่ระบบแล้วตรวจว่ารายวิชา คะแนน และไฟล์แนบครบถ้วน
resource/ ต้องเป็นช่วงเวลาเดียวกัน — ถ้ากู้ฐานข้อมูลของเมื่อวานแต่ใช้ไฟล์ของวันนี้ จะมีรายการที่ชี้ไปหาไฟล์ที่ไม่มีอยู่อัปเดตระบบ
ไปที่ ผู้ดูแลระบบ → อัพเดทระบบ

ขั้นตอนนี้ข้ามไม่ได้ — ดาวน์โหลดไฟล์ .sql และสำรอง resource/
ระบบเทียบเวอร์ชันปัจจุบันกับเซิร์ฟเวอร์อัปเดต
ดูว่ามีอะไรเปลี่ยนบ้าง โดยเฉพาะส่วนที่องค์กรใช้งานอยู่
ระหว่างอัปเดตระบบอาจใช้งานไม่ได้ชั่วครู่
ระบบดาวน์โหลดและติดตั้งให้ พร้อมปรับโครงสร้างฐานข้อมูลที่จำเป็น
เข้าหน้าแรก ลองเปิดรายวิชา ทำข้อสอบ และดูรายงาน ว่าทุกอย่างปกติ
core/config.local.php และโฟลเดอร์ resource/ ไม่ถูกทับเวลาอัปเดต ส่วน core/config.core.php และ .htaccess อาจถูกทับ — ถ้าเคยแก้ไฟล์สองตัวนี้เอง ให้เก็บสำเนาไว้ก่อนถ้าอัปเดตไม่สำเร็จ
| อาการ | สาเหตุที่พบบ่อย | วิธีแก้ |
|---|---|---|
| ดาวน์โหลดไฟล์อัปเดตไม่ได้ | เซิร์ฟเวอร์ปิดการเชื่อมต่อออกภายนอก | ให้ผู้ดูแลเซิร์ฟเวอร์เปิด outbound HTTPS หรืออัปเดตด้วยมือ |
| เขียนไฟล์ไม่ได้ | สิทธิ์โฟลเดอร์ไม่พอ | ตรวจว่าผู้ใช้ที่รัน PHP เขียนไฟล์ในโฟลเดอร์ระบบได้ |
| อัปเดตค้างกลางคัน | หมดเวลาทำงานของ PHP | เพิ่ม max_execution_time และ memory_limit แล้วลองใหม่ |
| อัปเดตแล้วหน้าเว็บพัง | ไฟล์ไม่ครบหรือโครงสร้างฐานข้อมูลไม่ตรง | กู้คืนจากไฟล์สำรอง แล้วติดต่อผู้ดูแลระบบของ Aleanor |
ย้ายเซิร์ฟเวอร์
ตรวจว่ามี PHP 8.0 ขึ้นไป (พร้อมส่วนขยาย mysqli, json, session) และ MySQL 5.7 / MariaDB 10.3 ขึ้นไป
ฐานข้อมูล · โฟลเดอร์ resource/ · ไฟล์ core/config.local.php
รวมโฟลเดอร์ resource/ ไปยังเครื่องใหม่
สร้างฐานข้อมูลเปล่าแล้วนำเข้าไฟล์ .sql
ปรับค่าเชื่อมต่อฐานข้อมูลให้ตรงกับเครื่องใหม่
โฟลเดอร์ resource/ และ core/ ต้องเขียนได้
อัปเดต Callback URL ของ LINE/Google, Webhook ของ Payment Gateway และ Base URL ของ VC ให้เป็นโดเมนใหม่
เข้าสู่ระบบ เปิดวิดีโอ ทำข้อสอบ ส่งอีเมลทดสอบ และดูรายงาน
งานบำรุงรักษาประจำ
| ความถี่ | สิ่งที่ควรทำ |
|---|---|
| ทุกวัน | สำรองฐานข้อมูล (ถ้าใช้งานหนัก) · ตรวจกระดิ่งแจ้งเตือนว่ามีคำสั่งซื้อหรืองานรอตรวจค้างหรือไม่ |
| ทุกสัปดาห์ | ตรวจพื้นที่จัดเก็บที่หน้าผู้ดูแลระบบ · ดูบันทึกกิจกรรมว่ามีอะไรผิดปกติ |
| ทุกเดือน | ตรวจสอบว่ามีเวอร์ชันใหม่หรือไม่ · ทบทวนรายชื่อผู้ใช้และระงับบัญชีที่ไม่ใช้แล้ว |
| ทุกภาคเรียน | ทบทวนรายการปลดล็อกเกรด · ลบไฟล์สำรองเก่าที่ไม่จำเป็น · ตรวจนโยบายการเก็บข้อมูลอ่อนไหว |
| ทุกปีการศึกษา | สำรองแบบถาวร 1 ชุด · ตั้งปีการศึกษาใหม่ · อัปเดตสถานะนักเรียนที่จบ |