Sao lưu cổng

Phần này mô tả cách sao lưu và khôi phục quá trình cài đặt tại chỗ cho cổng Dịch vụ dành cho nhà phát triển Apigee (hoặc đơn giản là cổng thông tin) bằng các lệnh pg_dumppg_restore của Postgres.

Trước khi sao lưu

Trước khi có thể sao lưu cổng thông tin, bạn phải biết tên cơ sở dữ liệu của cổng thông tin đó.

Thuộc tính PG_NAME trong tệp cấu hình cài đặt cổng thông tin chỉ định tên của cơ sở dữ liệu của cổng. Tệp cấu hình mẫu trong hướng dẫn cài đặt cổng thông tin sử dụng tên "devcổng". Nếu bạn không chắc chắn về tên cơ sở dữ liệu, hãy kiểm tra tệp cấu hình hoặc dùng lệnh psql sau để hiển thị danh sách cơ sở dữ liệu:

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

Trong đó, -U chỉ định tên người dùng Postgres mà cổng thông tin sử dụng để truy cập vào cơ sở dữ liệu. Đây là giá trị của thuộc tính DRUPAL_PG_USER trong tệp cấu hình cài đặt cổng thông tin. Bạn sẽ được nhắc nhập mật khẩu cơ sở dữ liệu.

Lệnh này hiển thị danh sách các cơ sở dữ liệu sau đây:

    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

Sao lưu cổng

Cách sao lưu cổng thông tin:

  1. Thay đổi đối với thư mục Drupal, /opt/apigee/apigee-drupal theo mặc định:
    cd /opt/apigee/apigee-drupal
  2. Sao lưu thực thể cơ sở dữ liệu Drupal của bạn bằng lệnh pg_dump:
    pg_dump --dbname=portal_db --host=host_IP_address --username=drupaladmin
      --password --format=c > /tmp/portal.bak

    Trong trường hợp:

    • portal_db là tên cơ sở dữ liệu. Đây là thuộc tính PG_NAME trong tệp cấu hình cài đặt cổng thông tin. Nếu bạn không chắc chắn về tên cơ sở dữ liệu, hãy xem phần Trước khi sao lưu.
    • host_IP_address là địa chỉ IP của nút cổng thông tin.
    • drupaladmin là tên người dùng Postgres mà cổng thông tin sử dụng để truy cập vào cơ sở dữ liệu. Bạn đã xác định điều này bằng thuộc tính DRUPAL_PG_USER trong tệp cấu hình cài đặt cổng thông tin.

    Khi pg_dump nhắc bạn nhập mật khẩu người dùng Postgres, hãy dùng mật khẩu mà bạn đã chỉ định cho thuộc tính DRUPAL_PG_PASS trong tệp cấu hình cài đặt cổng.

    Lệnh pg_dump tạo một bản sao của cơ sở dữ liệu.

  3. Sao lưu toàn bộ thư mục gốc của trang web Drupal. Vị trí webroot mặc định là /opt/apigee/apigee-drupal/wwwroot.
  4. Sao lưu các tệp công khai. Theo mặc định, các tệp này nằm trong /opt/apigee/apigee-drupal/wwwroot/sites/default/files. Nếu đó là vị trí chính xác, ảnh sẽ được sao lưu trong Bước 3. Bạn phải sao lưu các mục đó một cách rõ ràng nếu bạn đã di chuyển các mục đó từ vị trí mặc định.
  5. Sao lưu các tệp riêng tư trong /opt/apigee/data/apigee-drupal-devportal/private.

    Nếu bạn không chắc chắn về vị trí của thư mục này, hãy dùng lệnh drush status để xác định vị trí của hệ thống tệp riêng tư.

Khôi phục cổng thông tin

Sau khi sao lưu cổng thông tin, bạn có thể khôi phục từ bản sao lưu bằng lệnh pg_restore.

Để khôi phục từ bản sao lưu sang một cơ sở dữ liệu hiện có, hãy sử dụng lệnh sau:

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

Để khôi phục từ bản sao lưu và tạo cơ sở dữ liệu mới, hãy dùng lệnh sau:

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

Bạn cũng có thể khôi phục các tệp sao lưu vào thư mục gốc web của Drupal và các tệp riêng tư.