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

พอร์ทัลบริการสำหรับนักพัฒนาแอป เวอร์ชัน 4.17.09

เอกสารนี้อธิบายงานเกี่ยวกับการสำรองและกู้คืนข้อมูลในการติดตั้งพอร์ทัลภายในองค์กรโดยใช้คำสั่ง pg_dump และ pg_restore ของ Postgres

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

คุณใช้พร็อพเพอร์ตี้ 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=devportal --host=192.168.56.101 --username=drupaladmin --password --format=c > /tmp/portal.bak

    โดยที่
    • dbname ระบุชื่อฐานข้อมูลตามที่พร็อพเพอร์ตี้ PG_NAME ระบุในไฟล์การกำหนดค่าการติดตั้งพอร์ทัล
    • host จะระบุที่อยู่ IP ของโหนดพอร์ทัล
    • username ระบุชื่อผู้ใช้ Postgres ที่พอร์ทัลใช้ในการเข้าถึงฐานข้อมูลตามที่พร็อพเพอร์ตี้ DRUPAL_PG_USER ระบุไว้ในไฟล์การกำหนดค่าการติดตั้งพอร์ทัล
    • ระบบจะแจ้งให้คุณป้อนรหัสผ่านผู้ใช้ Postgres ตามที่กำหนดโดยพร็อพเพอร์ตี้ DRUPAL_PG_PASS ในไฟล์การกำหนดค่าการติดตั้งพอร์ทัล
  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 --clean --dbname=devportal --host=localhost  --username=apigee < /tmp/portal.bak

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

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

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