Edge for Private Cloud v4.18.05
本部分介绍如何使用 Postgres pg_dump
和 pg_restore
命令备份和恢复 Apigee 开发者服务门户(简称“门户”)的本地安装。
在您备份之前
必须知道门户数据库的名称才能备份门户。
门户安装配置文件中的 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
备份门户
如需备份门户,请执行以下操作:
- 切换到 Drupal 目录(默认为
/opt/apigee/apigee-drupal
):cd /opt/apigee/apigee-drupal
- 使用
pg_dump
命令备份您的 Drupal 数据库实例: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
命令会创建数据库的副本。 - portal_db 是数据库名称。这是门户安装配置文件中的
- 备份整个 Drupal 网站根目录。默认 Webroot 位置为
/opt/apigee/apigee-drupal/wwwroot
。 - 备份公开文件。默认情况下,这些文件位于
/opt/apigee/apigee-drupal/wwwroot/sites/default/files
。如果这是正确的位置,系统会在第 3 步中备份这些文件。如果您从默认位置删除了这些文件,则必须明确备份这些文件。 - 备份
/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 Web 根目录和不公开文件。