สํารองข้อมูลพอร์ทัล

Edge for Private Cloud v4.18.05

ส่วนนี้จะอธิบายวิธีสํารองและกู้คืนการติดตั้งพอร์ทัลบริการสําหรับนักพัฒนาแอป Apigee (หรือเรียกง่ายๆ ว่าพอร์ทัล) ในสถานที่โดยใช้คําสั่ง Postgres pg_dump และ pg_restore

ก่อนสำรองข้อมูล

คุณต้องทราบชื่อฐานข้อมูลของพอร์ทัลก่อนจึงจะสำรองข้อมูลพอร์ทัลได้

พร็อพเพอร์ตี้ PG_NAME ในไฟล์การกําหนดค่าการติดตั้งพอร์ทัลจะระบุชื่อฐานข้อมูลของพอร์ทัล ไฟล์การกําหนดค่าตัวอย่างในวิธีการติดตั้งพอร์ทัลใช้ชื่อ "devportal" หากไม่แน่ใจเกี่ยวกับชื่อฐานข้อมูล ให้ตรวจสอบไฟล์การกําหนดค่า หรือใช้คําสั่ง psql ต่อไปนี้เพื่อแสดงรายการฐานข้อมูล

psql -h localhost -d apigee -U postgres -l

โดยที่ -U ระบุชื่อผู้ใช้ Postgres ที่พอร์ทัลใช้เข้าถึงฐานข้อมูล ค่านี้คือค่าของพร็อพเพอร์ตี้ DRUPAL_PG_USER ในไฟล์การกําหนดค่าการติดตั้งพอร์ทัล ระบบจะแจ้งให้คุณใส่รหัสผ่านฐานข้อมูล

คำสั่งนี้จะแสดงรายการฐานข้อมูลต่อไปนี้

    Name     | Owner  | Encoding |   Collate   |    Ctype    |  Access privileges  
-------------+--------+----------+-------------+-------------+---------------------
 apigee      | apigee | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/apigee         +
             |        |          |             |             | apigee=CTc/apigee  +
             |        |          |             |             | postgres=CTc/apigee
 devportal   | apigee | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 newportaldb | apigee | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 postgres    | apigee | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0   | apigee | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/apigee          +
             |        |          |             |             | apigee=CTc/apigee
 template1   | apigee | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/apigee          +
             |        |          |             |             | apigee=CTc/apigee

สำรองข้อมูลพอร์ทัล

วิธีสำรองข้อมูลพอร์ทัล

  1. เปลี่ยนเป็นไดเรกทอรี Drupal /opt/apigee/apigee-drupal โดยค่าเริ่มต้น
    cd /opt/apigee/apigee-drupal
  2. สำรองข้อมูลอินสแตนซ์ฐานข้อมูล Drupal ด้วยคำสั่ง pg_dump ดังนี้
    pg_dump --dbname=portal_db --host=host_IP_address --username=drupaladmin
      --password --format=c > /tmp/portal.bak

    สถานที่:

    • portal_db คือชื่อฐานข้อมูล นี่คือพร็อพเพอร์ตี้ PG_NAME ในไฟล์การกำหนดค่าการติดตั้งพอร์ทัล หากไม่แน่ใจเกี่ยวกับชื่อฐานข้อมูล โปรดดูก่อนสํารองข้อมูล
    • host_IP_address คือที่อยู่ IP ของโหนดพอร์ทัล
    • drupaladmin คือชื่อผู้ใช้ Postgres ที่พอร์ทัลใช้เข้าถึงฐานข้อมูล คุณได้กําหนดค่านี้ด้วยพร็อพเพอร์ตี้ DRUPAL_PG_USER ในไฟล์การกําหนดค่าการติดตั้งพอร์ทัล

    เมื่อ pg_dump แจ้งให้คุณระบุรหัสผ่านผู้ใช้ Postgres ให้ใช้รหัสผ่านที่คุณระบุไว้กับพร็อพเพอร์ตี้ DRUPAL_PG_PASS ในไฟล์การกําหนดค่าการติดตั้งพอร์ทัล

    คําสั่ง pg_dump จะสร้างสําเนาของฐานข้อมูล

  3. สำรองข้อมูลไดเรกทอรีรูทของเว็บ Drupal ทั้งหมด ตำแหน่งรูทเว็บเริ่มต้นคือ /opt/apigee/apigee-drupal/wwwroot
  4. สำรองข้อมูลไฟล์สาธารณะ โดยค่าเริ่มต้น ไฟล์เหล่านี้จะอยู่ใน /opt/apigee/apigee-drupal/wwwroot/sites/default/files หากเป็นตำแหน่งที่ถูกต้อง ระบบจะสำรองข้อมูลในขั้นตอนที่ 3 คุณต้องสำรองข้อมูลดังกล่าวอย่างชัดเจนหากย้ายออกจากตำแหน่งเริ่มต้น
  5. สำรองข้อมูลไฟล์ส่วนตัวใน /opt/apigee/data/apigee-drupal-devportal/private

    หากไม่แน่ใจเกี่ยวกับตำแหน่งของไดเรกทอรีนี้ ให้ใช้คำสั่ง drush status เพื่อระบุตำแหน่งของระบบไฟล์ส่วนตัว

คืนค่าพอร์ทัล

หลังจากสํารองข้อมูลพอร์ทัลแล้ว คุณจะกู้คืนจากข้อมูลสํารองได้โดยใช้คําสั่ง pg_restore

หากต้องการกู้คืนจากข้อมูลสํารองไปยังฐานข้อมูลที่มีอยู่ ให้ใช้คําสั่งต่อไปนี้

pg_restore --clean --dbname=portal_db --host=localhost --username=apigee < /tmp/portal.bak

หากต้องการกู้คืนจากข้อมูลสํารองและสร้างฐานข้อมูลใหม่ ให้ใช้คําสั่งต่อไปนี้

pg_restore --clean --create --dbname=portal_db --host=localhost --username=apigee < /tmp/portal.bak

นอกจากนี้ คุณยังกู้คืนไฟล์สํารองไปยังไดเรกทอรีรูทของเว็บ Drupal และไฟล์ส่วนตัวได้ด้วย