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

ส่วนนี้จะอธิบายวิธีสำรองข้อมูลและกู้คืนการติดตั้งพอร์ทัลบริการสำหรับนักพัฒนาซอฟต์แวร์ 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 ทั้งหมด ตำแหน่ง webroot เริ่มต้นคือ /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 และไฟล์ส่วนตัวได้ด้วย