创建 ArcGIS Enterprise 主部署和备用部署后,可使用 webgisdr 实用程序、独立的完整备份和增量备份属性文件以及使用 cron 作业的计划任务自动进行从主部署到备用部署的复制。
要使主部署和备用部署更加密切地保持同步,请使用 webgisdr 实用程序定期创建完整备份,但是要导出完整备份之间的增量更改。例如,如果 ArcGIS Enterprise 部署中的服务和数据在一天内进行大量更改,则可在午夜创建完整备份并分别在 10:00 a.m.、2:00 p.m. 和 6:00 p.m. 导出增量更改以获取整个工作日中发生的更改。
要自动执行此操作,请创建四个模板属性文件 (webgisdr.properties) 副本和四个不同的脚本以完成以下任务:
- 从主部署中导出完整备份,然后将文件复制到备用部署。
- 从主部署中导出增量备份并复制到备用部署。
- 将完整备份导入至备用部署。
- 将增量备份导入至备用部署。
设置 cron 作业以在特定时间运行各个脚本。
确定运行脚本的频率时,需要考虑完成导出和复制数据所花费的时间。您首先需要手动运行此过程以了解创建完整备份并将其通过网络复制到备用部署所需的时间,以及创建增量备份并通过网络将其复制到备用部署所需的时间。包括 30 到 60 分钟的缓冲,以应对网络和硬件性能的波动。
例如,如果创建增量备份需要 20 分钟,将其复制到备用部署需要 5 分钟,则请在增量备份脚本运行一小时后安排导入增量备份。因此,如果创建增量备份的脚本在 10:00 a.m. 运行,请将导入安排在 11:00 a.m. 运行。
- 创建 webgisdr.properties 文件的副本并将其命名为 expfullbackups.properties。将该文件与 webgisdr.properties 文件保存在同一位置。
默认位置为 /arcgis/portal/tools/webgisdr。
- 在文本编辑器中打开 expfullbackups.properties 文件并对其进行编辑,以包含部署的特定信息。
- SHARED_LOCATION = <备份文件位置>
指定要创建 ArcGIS Server、Portal for ArcGIS 和 ArcGIS Data Store 备份文件临时副本的共享位置。 已安装 ArcGIS Server、Portal for ArcGIS 和 ArcGIS Data Store 的帐户和运行 webgisdr 实用程序的帐户必须具有此位置的读写权限。 确保该位置足以容纳每个组件的备份文件。 虽然经过压缩,但文件仍然相当大,具体取决于数据的数量和类型。 如果有托管场景图层和缓存,并且 INCLUDE_SCENE_TILE_CACHES 设置为 true,则 ArcGIS Data Store 备份文件可能非常大。
确保路径中的反斜线已被转义。 例如,C:\backups 将被输入为 C:\\backups,\fileserver\backups 将被输入为 \\\\fileserver\\backups。 - BACKUP_STORE_PROVIDER = {FileSystem | AmazonS3 | AzureBlob}
定义是否要保存文件系统或云存储上的 webgissite 备份文件。
要将您的 ArcGIS Enterprise 备份存入本地文件共享位置,请指定 FileSystem,然后 webgisdr 实用程序将把您的备份文件存入您指定用于 BACKUP_LOCATION 的文件共享中。
要将您的 ArcGIS Enterprise 备份存入 Amazon Simple Storage Service (S3) 或 S3 兼容存储段存储位置,请创建一个专为存储由 webgisdr 实用程序生成的备份文件的存储段,并使用访问您的存储段所需的信息更新 S3 属性。
要将您的 ArcGIS Enterprise 备份存入 Microsoft Azure Blob 存储,请创建一个专为存储由 webgisdr 实用程序生成的备份文件的 Azure Blob 存储容器,并使用访问您的容器所需的信息更新 Azure 属性。
注:
如果您的 ArcGIS Enterprise 部署为本地部署,但是备份存储在云中,则与将备份存储在本地文件共享中相比,创建备份和恢复备份所需的时间更长。
- BACKUP_LOCATION = <备份文件本地位置>
指定 webgissite 备份文件的位置。
确保路径中的反斜线已被转义。 例如,C:\backups 将被输入为 C:\\backups,\\fileserver\backups 将被输入为 \\\\fileserver\\backups。
备份文件最初将被存入 SHARED_LOCATION,但是将被复制到 BACKUP_LOCATION。 确保该位置足以容纳备份文件。 虽然经过压缩,但文件仍然相当大,具体取决于数据的数量和类型。 运行 webgisdr 实用程序的帐户必须拥有对 BACKUP_LOCATION 的读写权限。
如果您设置 BACKUP_LOCATION 为文件夹,灾难恢复工具将向该文件夹导入最新的可用备份文件。 如果您设置 BACKUP_LOCATION 为文件夹中的特定备份文件,则灾难恢复工具将导入该文件。
注:
在导出期间,打包备份可能要花费很长时间,请考虑将 BACKUP_LOCATION 设置为本地路径。 然后,您可以将操作完成的包复制到所需位置。 确保本地驱动器上有足够的空间,用于临时存储备份。
- PORTAL_ADMIN_URL = <门户管理目录 URL>
指定 Portal for ArcGIS 管理目录的 URL。 使用格式 https://portalhostname.domain.com:7443/arcgis,其中 portalhostname.domain.com 为安装了 Portal for ArcGIS 的计算机的完全限定名称。
- PORTAL_ADMIN_USERNAME = <门户管理员用户名>
指定分配给管理员角色的门户成员的用户名。
- PORTAL_ADMIN_PASSWORD = <门户管理员密码>
指定门户管理员帐户的密码。
- PORTAL_ADMIN_PASSWORD_ENCRYPTED = <true | false>
首次使用管理员密码填充文件时,请将该选项设置为 false。 保存文件后密码将加密,可将 PORTAL_ADMIN_PASSWORD_ENCRYPTED 的值设置为 true 以表示该密码已加密。 如果以后需要更改密码,可设置 PORTAL_ADMIN_PASSWORD_ENCRYPTED = false,提供新的管理员密码,然后保存文件。
- INCLUDE_SCENE_TILE_CACHES = <true | false>
如果要将托管场景图层发布至门户并在备份中包含场景缓存数据,可将 INCLUDE_SCENE_TILE_CACHES 设置为 true。 请注意,如果设置为 true,备份中将包含所有场景缓存数据,而不仅仅是上次备份后创建的新缓存数据。 如果已知上次备份后未创建新的场景缓存,或者不需要将场景发布至门户,可将 INCLUDE_SCENE_TILE_CACHES 设置为 false。
- BACKUP_RESTORE_MODE = full。
- SHARED_LOCATION = <备份文件位置>
- 保存更改并关闭 expfullbackups.properties 文件。
- 创建 expfullbackups.properties 文件的副本并将其命名为 expincremental.properties。
- 在文本编辑器中打开 expincremental.properties 文件并将 BACKUP_RESTORE_MODE 设置更改为 incremental。
- 保存更改并关闭 expincremental.properties 文件。
- 创建两个将运行 webgisdr 实用程序以从主部署导出的脚本。将其中一个脚本设置为调用 expfullbackups.properties 文件,将另一个脚本设置为调用 expincremental.properties 文件。
您将创建两个脚本,以便您可以安排一个脚本在特定的时间内运行以创建完整备份,一个在其他时间内运行以创建增量备份。
例如,放入脚本中以创建完整备份的行将包含以下类似内容:
webgisdr --export --file /arcgis/portal/tools/webgisdr/fullbackups.properties
- 用于导出备份的脚本需要包括将备份文件复制到备用部署的方法。
在主部署中安装 ArcGIS Server、Portal for ArcGIS 和 ArcGIS Data Store 的帐户必须对在 .properties 文件中设置的 SHARED_LOCATION 具有写入权限。此外,运行 webgisdr 实用程序的帐户必须对 SHARED_LOCATION 和复制备份文件的目标位置具有读取和写入权限。在备用部署中安装 ArcGIS Server、Portal for ArcGIS 和 ArcGIS Data Store 的帐户必须至少具有这些位置的读取权限。
- 如果您的 ArcGIS Enterprise 部署包括地图服务和托管切片图层缓存,则脚本还需要将这些缓存从主部署中 ArcGIS Server 站点的(一个或多个)缓存目录复制到备用部署上的(一个或多个)缓存目录中。
- 将 expfullbackups.properties 和 expincremental.properties 文件复制到备用部署上 webgisdr.properties 文件所在的位置(默认为 /arcgis/portal/tools/webgisdr),然后分别重命名 impfullbackups.properties 和 impincremental.properties 文件。
- 对于备用部署环境,更新 SHARED_LOCATION、BACKUP_LOCATION(如果 BACKUP_STORE_PROVIDER 设置为 FileSystem)以及属性中的 PORTAL_ADMIN_URL。
- 安排 webgisdr 工具在主部署和备用部署上运行。可以使用 cron 作业执行此操作。 定义备份计划并设置自动化任务以指向相应的属性文件。要导入备份的两个脚本需要调用已复制到备用部署的属性文件。
提示:
如简介中所述,您需要估算完成完整备份和增量备份所需的时间以及复制备份文件、添加缓冲时间以及相应地安排脚本运行所需的时间。