Phần này mô tả cách sao lưu và khôi phục bản cài đặt tại chỗ của
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ách sử dụng các lệnh Postgres pg_dump và pg_restore.
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ơ sở dữ liệu của cổng thông tin. 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 "devportal". 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 sử dụng lệnh psql sau đây để hiện 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 sẽ hiển thị danh sách cơ sở dữ liệu sau:
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/apigeeSao lưu cổng thông tin
Cách sao lưu cổng thông tin:
- Thay đổi thành thư mục Drupal, mặc định là
/opt/apigee/apigee-drupal:cd /opt/apigee/apigee-drupal
- Sao lưu phiên bản cơ sở dữ liệu Drupal 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_NAMEtrong 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.
- 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 giá trị này bằng thuộc tính
DRUPAL_PG_USERtrong tệp cấu hình cài đặt cổng thông tin.
Khi
pg_dumpnhắc bạn nhập mật khẩu người dùng Postgres, hãy sử dụng mật khẩu mà bạn đã chỉ định bằng thuộc tínhDRUPAL_PG_PASStrong tệp cấu hình cài đặt cổng thông tin.Lệnh
pg_dumptạo một bản sao của cơ sở dữ liệu. - portal_db là tên cơ sở dữ liệu. Đây là thuộc tính
- 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. - Tạo bản 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, thì các tệp này sẽ được sao lưu ở Bước 3. Bạn phải sao lưu rõ ràng các tệp này nếu đã di chuyển chúng khỏi vị trí mặc định. - 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 sử 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 vào 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 sử 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 của web Drupal và các tệp riêng tư.