Skip to content

Restore Site

zeuscs09 edited this page Dec 18, 2024 · 3 revisions

สรุปขั้นตอนการ Restore Frappe Site

1. ไฟล์ที่ต้องใช้ในการ Restore

  • ฐานข้อมูล: database.sql.gz
  • ไฟล์ Private: private-file.tar
  • ไฟล์ Public: public-file.tar
  • ไฟล์ Site Configuration: site_config_backup.json (ใช้เฉพาะ encryption_key)

2. เตรียม Site

หากยังไม่มี Site ให้สร้าง Site ใหม่ก่อน:

cd ~/frappe-bench
bench new-site your-site-name

3. Restore ฐานข้อมูล

ใช้คำสั่ง bench restore เพื่อกู้คืนฐานข้อมูล:

bench --site your-site-name restore /path/to/database.sql.gz

4. Restore ไฟล์ Private

ใช้ --strip-components เพื่อลบโฟลเดอร์ที่ซ้อนอยู่ในไฟล์ .tar:

tar -xvf /path/to/private-file.tar --strip-components=3 -C ~/frappe-bench/sites/your-site-name/private/files/

5. Restore ไฟล์ Public

ทำเหมือนกับไฟล์ Private แต่เปลี่ยนปลายทางเป็น public/files:

tar -xvf /path/to/public-file.tar --strip-components=3 -C ~/frappe-bench/sites/your-site-name/public/files/

6. นำค่า encryption_key กลับมา

  1. เปิดไฟล์ site_config_backup.json จาก Backup:
cat /path/to/site_config_backup.json
  1. คัดลอกค่า encryption_key ไปยังไฟล์ site_config.json ปัจจุบัน:
nano ~/frappe-bench/sites/your-site-name/site_config.json

เพิ่มหรืออัปเดตเฉพาะบรรทัด:

"encryption_key": "your-encryption-key-from-backup"

7. ตั้งค่าสิทธิ์ไฟล์ (Permissions)

ตั้งสิทธิ์ให้ Frappe สามารถเข้าถึงไฟล์ได้:

chown -R frappe:frappe ~/frappe-bench/sites/your-site-name
chmod -R 755 ~/frappe-bench/sites/your-site-name

8. รีสตาร์ท Bench

รีสตาร์ท Frappe Bench เพื่อให้การ Restore มีผล:

bench restart

9. ตรวจสอบผลลัพธ์

  • เปิดเว็บเบราว์เซอร์และไปยัง URL ของ Site เช่น:
http://your-site-name
  • ตรวจสอบว่าไฟล์และข้อมูลทั้งหมดกลับมาถูกต้อง

คำสั่งสรุปทั้งหมด

cd ~/frappe-bench
bench new-site your-site-name
bench --site your-site-name restore /path/to/database.sql.gz
tar -xvf /path/to/private-file.tar --strip-components=3 -C ~/frappe-bench/sites/your-site-name/private/files/
tar -xvf /path/to/public-file.tar --strip-components=3 -C ~/frappe-bench/sites/your-site-name/public/files/
nano ~/frappe-bench/sites/your-site-name/site_config.json
# เพิ่ม encryption_key จาก site_config_backup.json
chown -R frappe:frappe ~/frappe-bench/sites/your-site-name
chmod -R 755 ~/frappe-bench/sites/your-site-name
bench restart

การตรวจสอบเพิ่มเติม

ตรวจสอบไฟล์ในโฟลเดอร์ public/files และ private/files:

ls ~/frappe-bench/sites/your-site-name/public/files/
ls ~/frappe-bench/sites/your-site-name/private/files/

ตรวจสอบ Logs หากพบปัญหา:

bench --site your-site-name log

สรุป

  1. Restore ฐานข้อมูลด้วย bench restore
  2. ใช้ tar พร้อม --strip-components เพื่อลบโฟลเดอร์ซ้อน
  3. คัดลอกเฉพาะ encryption_key จาก site_config_backup.json
  4. ตั้งค่าสิทธิ์และ Restart Frappe

ระบบควรทำงานได้สมบูรณ์และไฟล์ต่าง ๆ กลับมาอยู่ในตำแหน่งที่ถูกต้อง! 🎉

Clone this wiki locally