วิธี Backup Database Odoo & restore

หมวดสำหรับแบ่งบันความ รู้ต่างๆ จะมีหมวดย่อยๆ ในหมวดนี้ เช่น php, SQL, XML, CSS

Moderator: mindphp, ผู้ดูแลกระดาน

Bundith
PHP Hero Member
PHP Hero Member
โพสต์: 131
ลงทะเบียนเมื่อ: 06/05/2025 9:23 am

วิธี Backup Database Odoo & restore

โพสต์ที่ยังไม่ได้อ่าน โดย Bundith »

Odoo เป็นระบบ ERP ที่มีความสามารถหลากหลายและเป็นหัวใจสำคัญของกระบวนการทำงานในหลายองค์กร ดังนั้น การสำรองข้อมูล (Backup) และการกู้คืนข้อมูล (Restore) จึงเป็นกระบวนการที่สำคัญอย่างยิ่งเพื่อป้องกันการสูญหายของข้อมูล ซึ่งอาจเกิดจากความผิดพลาดของผู้ใช้ ระบบขัดข้อง หรือการโจมตีจากภายนอก การมีระบบ Backup และ Restore ที่ดีจะช่วยให้มั่นใจได้ว่า เมื่อเกิดปัญหา ผู้ดูแลระบบสามารถกู้คืนข้อมูลให้กลับมาอยู่ในสถานะปกติได้อย่างรวดเร็ว ลดผลกระทบต่อธุรกิจและรักษาความต่อเนื่องของการดำเนินงาน บทความนี้จะอธิบายขั้นตอน วิธีการ ตัวอย่าง และคำแนะนำในการทำ Backup และ Restore ข้อมูลในระบบ Odoo ทั้งแบบผ่านอินเทอร์เฟซเว็บและแบบใช้คำสั่ง CLI (Command Line Interface) เพื่อให้สามารถนำไปใช้จริงในองค์กรได้อย่างมีประสิทธิภาพ
db_backup.png
db_backup.png (496.92 KiB) Viewed 144 times
1. ประเภทของข้อมูลที่ควรสำรอง
การสำรองข้อมูลใน Odoo มีสองส่วนหลัก:
  • ฐานข้อมูล (Database): เก็บข้อมูลทั้งหมดของระบบ เช่น ลูกค้า ใบสั่งซื้อ สินค้า เอกสาร ฯลฯ
  • ไฟล์ระบบ (Filestore): เก็บไฟล์ที่อัปโหลด เช่น ใบแจ้งหนี้ PDF รูปภาพ หรือไฟล์แนบในโมดูลต่าง ๆ
การสำรองข้อมูลที่สมบูรณ์ควรครอบคลุมทั้งสองส่วน

2. วิธีการ Backup Odoo
2.1 Backup ผ่าน Web Interface (Odoo Standard)
Odoo ให้ฟีเจอร์ Backup ผ่านเว็บ UI สำหรับผู้ดูแลระบบ:
1. เข้าสู่ระบบฐานข้อมูล Odoo (เช่น http://localhost:8069/web/database/manager)
2. คลิกที่ปุ่ม "Backup"
3. ระบบจะถามรหัสผ่าน Master Password
4. เลือกว่าจะ Backup แบบ Include Filestore หรือเฉพาะฐานข้อมูล
5. กดปุ่ม "Backup"
ไฟล์จะถูกดาวน์โหลดในรูปแบบ .zip หรือ .dump

ข้อดี: ใช้งานง่าย ไม่ต้องใช้คำสั่ง Linux
ข้อเสีย: เหมาะสำหรับการสำรองแบบ Manual เท่านั้น ไม่เหมาะกับระบบ Production ที่ต้องการความต่อเนื่อง

2.2 Backup ด้วย Command Line (PostgreSQL + Filestore)
เหมาะสำหรับระบบ Production หรือระบบที่ต้องการ Automation

ตัวอย่างคำสั่ง Backup Database:

โค้ด: เลือกทั้งหมด

pg_dump -U odoo -h localhost -Fc your_database_name > /backups/db_$(date +%F).dump
Backup Filestore:

โค้ด: เลือกทั้งหมด

tar -czvf /backups/filestore_$(date +%F).tar.gz /odoo/.local/share/Odoo/filestore/your_database_name
สามารถตั้ง Cron Job สำหรับรันอัตโนมัติทุกวัน เช่น:

โค้ด: เลือกทั้งหมด

0 3 * * * /usr/bin/pg_dump -U odoo your_db > /backups/db_$(date +%F).dump
3. วิธีการ Restore Odoo
3.1 Restore ผ่าน Web Interface

1. เข้าไปที่ http://localhost:8069/web/database/manager
2. คลิกที่ "Restore"
3. เลือกไฟล์ Backup ที่ต้องการ Restore
4. ใส่ชื่อฐานข้อมูลใหม่ หรือทับของเดิม (ถ้าอนุญาต)
5. กรอกรหัสผ่าน Master Password
6. กด "Restore"

3.2 Restore ด้วย Command Line

Restore Database:

โค้ด: เลือกทั้งหมด

pg_restore -U odoo -d new_db_name /backups/db_2025-05-10.dump
Restore Filestore:

โค้ด: เลือกทั้งหมด

tar -xzvf /backups/filestore_2025-05-10.tar.gz -C /odoo/.local/share/Odoo/filestore/new_db_name
อย่าลืมตั้งสิทธิ์การเข้าถึงไฟล์ให้เหมาะสม เช่น

โค้ด: เลือกทั้งหมด

chown -R odoo:odoo /odoo/.local/share/Odoo/filestore/new_db_name
4. ตัวอย่างการวางโครงสร้างระบบ Backup อัตโนมัติ
  • ทำ Backup ฐานข้อมูลทุกวันเวลา 03:00 น.
  • ทำ Backup Filestore ทุกสัปดาห์
  • เก็บ Backup อย่างน้อย 7 วันย้อนหลัง
  • ส่งอีเมลแจ้งเตือนหาก Backup ไม่สำเร็จ
  • Sync Backup ไปยัง Cloud เช่น AWS S3, Google Drive หรือ NAS
Script ตัวอย่าง (cron + bash):

โค้ด: เลือกทั้งหมด

#!/bin/bash
DATE=$(date +%F)
pg_dump -U odoo -Fc mydb > /backups/db_$DATE.dump
tar -czvf /backups/filestore_$DATE.tar.gz /odoo/.local/share/Odoo/filestore/mydb
find /backups -type f -mtime +7 -delete
5. ข้อควรระวังและคำแนะนำ
  • ตรวจสอบให้แน่ใจว่า Backup ถูกต้อง โดยทำการ Restore ในระบบทดสอบอย่างน้อยเดือนละครั้ง
  • ปกป้องข้อมูล Backup ด้วยการตั้งสิทธิ์ไฟล์และใช้รหัสผ่าน
  • หลีกเลี่ยงการใช้ชื่อฐานข้อมูลซ้ำ ในกรณี Restore เพื่อไม่ให้เกิดการทับข้อมูล
  • ใช้ Script ที่สามารถตรวจสอบ Error และส่งแจ้งเตือนอัตโนมัติ
  • เก็บ Backup ไว้ในตำแหน่งที่แยกจากเซิร์ฟเวอร์หลัก เช่น Cloud หรือ External Storage
บทสรุป
การสำรองและกู้คืนข้อมูลในระบบ Odoo เป็นกระบวนการที่จำเป็นและสำคัญสำหรับการรักษาความปลอดภัยของข้อมูล และความต่อเนื่องของธุรกิจ โดยเฉพาะในยุคที่ธุรกิจต้องพึ่งพาระบบดิจิทัลอย่างเต็มรูปแบบ, Odoo รองรับการทำ Backup และ Restore ทั้งแบบผ่าน Web Interface สำหรับผู้ใช้งานทั่วไป และแบบ Command Line สำหรับผู้ดูแลระบบและนักพัฒนา ซึ่งช่วยให้สามารถจัดการข้อมูลได้อย่างยืดหยุ่น ปลอดภัย และเหมาะสมกับขนาดและความซับซ้อนของระบบ, หากองค์กรมีการวางแผนและจัดการระบบ Backup อย่างเป็นระบบ เช่น ทำ Backup ตามรอบเวลา ตรวจสอบไฟล์ที่ได้ และฝึกซ้อมการ Restore ข้อมูลอย่างสม่ำเสมอ จะสามารถลดความเสี่ยงจากการสูญหายของข้อมูล และพร้อมรับมือกับเหตุการณ์ไม่คาดคิดได้อย่างมีประสิทธิภาพ, จำไว้ว่า Backup ที่ดีไม่ใช่เพียงการเก็บไฟล์ แต่ต้องสามารถ Restore ได้จริงเมื่อเกิดเหตุการณ์ฉุกเฉิน

อ้างอิง
https://webkul.com/blog/odoo-data-backup-how-to-create-and-restore-data-in-odoo
https://www.odoo.com/ro_RO/forum/suport-1/back-up-and-restore-254482
https://www.soladrive.com/support/knowledgebase/5125/How-to-Backup-and-Restore-a-Database-in-Odoo.html
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 12