您需要进行备份以在发生数据损坏或数据存储故障等故障时恢复数据。如果您的数据存储出于某些原因发生了故障且无法重新启动,则在您创建了数据存储备份并将其放置在安全位置的情况下,您可以设置新的 ArcGIS Data Store,访问备份,然后恢复托管要素图层使用的数据。
如果您只有一个关系数据存储,则会将 ArcGIS Data Store 配置为自动创建数据备份。。默认情况下,数据存储将自动在 /usr/arcgisdatastore/backups 下创建要素图层数据的备份。也就是说备份文件与关系数据存储存储在同一计算机上。如果数据存储或主机发生故障,则您无法访问备份文件,因此无法恢复托管要素图层数据。为此,您不能将备份存储在默认位置。
下图显示了关系数据存储由用于存储数据的计算机(主机)和用于存储备份文件的网络驱动器组成。在独立于数据存储的计算机上存储备份文件可防止在计算机运行数据存储失败的情况下丢失备份文件。
注:
注意,备份文件仅包含门户的托管要素图层使用的数据。备份文件不会维护场景图层数据或缓存、时空大数据存储、ArcGIS Server 站点或门户的备份。但是,备份文件可帮助您恢复在数据存储的主机发生故障的情况下丢失的要素图层数据。如果您希望即使在主机发生故障时,托管要素图层也可以工作,请设置备用计算机。
除定义其他备份目录外,您还可以控制创建完整备份的频率以及保留备份文件的时间。
如有需要,您可以使用 backupdatastore 实用程序手动创建要素图层数据的备份。
如果您需要将数据存储的托管要素图层数据移动到更新版本的 ArcGIS Data Store,或者您希望在使用其他操作系统的计算机上使数据恢复到 ArcGIS Data Store 安装,则可以导出数据存储并将其导入到其他 ArcGIS Data Store 中。
如果您希望对托管场景图层切片缓存和托管要素图层数据进行备份,则您可以使用已安装 ArcGIS Data Store 的 exportmanageddb 实用程序或与 Portal for ArcGIS 一起安装的 webgisdr 工具导出数据存储。
定义关系数据存储的备份位置
当灾难发生时,例如服务器发生故障或遭到洪水冲毁,备份可以帮助您恢复数据。如果备份位于遭到洪水冲毁的服务器上,则不能恢复数据。因此,您需要将备份文件和关系数据存储存储在不同的服务器上。
在另一台计算机上创建一个共享目录用来存储备份文件,然后运行 changebackuplocation 实用程序来配置 ArcGIS Data Store 以将备份文件写入到该位置。确保运行 changebackuplocation 实用程序的登录帐户具有共享目录的读写权限。同时确保存储空间足以保存数据存储备份中包含的所有文件。文件的数量和大小将根据您的数据、您的备份计划和保留备份的天数而变化。确保对备份目录的大小进行监控并根据需要调整设置。
changebackuplocation 实用程序安装在 <ArcGIS Data Store installation directory>/datastore/tools 目录下。
运行 changebackuplocation 实用程序的语法如下:
changebackuplocation <new directory path> --is-shared-folder <true|false> --keep-old-backups <true|false>
例如,输入以下内容以在名为 sysshare 的计算机上的 ds_backup 共享目录下创建备份文件,并可以选择保留现有备份文件:
./changebackuplocation.sh /net/sysshare/ds_backups --is-shared-folder true --keep-old-backups true
You are going to change the backup location of the data store. Existing backups will be copied to the new location and it could take a few moments. Please do not interrupt the process once it has started.
Do you want to continue (Yes or No)? Yes
提示:
如果您的远程备份目录离线几分钟,需在共享备份位置可用后立即执行数据存储的完整手动备份。
更改关系数据存储的备份频率
默认情况下,数据存储每四天创建一次完整的要素图层备份,日志文件已满时或每 5 分钟创建一次增量备份(以先发生为准)。(通过日志文件可恢复至特定时间点。) 该数据库用于控制增量备份创建,但您可以通过运行 updatebackschedule 实用程序更改数据存储创建完整备份的频率。如果用户将发布和编辑大量托管要素图层,则您应提高创建完整数据存储备份的频率。
注意,备份位置必须具有足够的空间来存储所有备份文件。备份大小取决于数据量的多少,但如果您使用默认备份设置,备份将包含两个完整备份和 7 天的增量备份文件。这些文件的大小将取决于数据量及其大小。
如果决定手动创建备份并希望禁用自动备份,则将备份频率设置为 0。注意,如果您禁用自动备份,则 ArcGIS Data Store 将不会创建完整或增量备份。
updatebackschedule 实用程序安装在 <ArcGIS Data Store installation directory>/datastore/tools 目录下。
- 打开 shell 命令。
- 运行 updatebackschedule 实用程序以指定所需的备份频率。
运行此实用程序的语法如下:
updatebackupschedule --starttime <local server time> --frequency <number of days>
例如,输入以下内容以计划每 14 天(每两周)的上午 3:00 (本地服务器时间)每天:
./updatebackupschedule.sh --starttime 03:00:00 --frequency 1
更改保留关系数据存储备份文件的时间
默认情况下,备份目录将保留备份文件 7 天。这表示如果您保留默认备份频率(每 4 天)和保留计划(7 天),备份目录将包含 2 个完整备份和 7 天的增量备份文件。这些文件的大小将取决于数据量及其大小。存储备份的计算机必须要有足够的磁盘空间以存储所有这些文件。如果提高备份频率,则需考虑缩短备份文件的保留期间。在前一部分已将备份频率增加到每天。要防止备份目录过大,请缩短备份文件保留期间。
运行 updatebackupretaindays 实用程序的语法如下:
updatebackupretaindays <number of days>
在接下来的示例中,会将备份文件保留时间更改为 4 天:
./updatebackupretaindays.sh 4
手动创建关系数据存储备份
您可以使用 backupdatastore 实用程序对数据存储中的要素图层数据进行完整备份。对数据存储进行大量更改前或升级数据存储前,您可能会手动创建完整备份。或者您可能会创建备份以保存特定状态的数据副本,例如,项目第一个阶段的末尾。用于连接至数据存储计算机以运行 backupdatastore 实用程序的登录帐户必须对数据存储备份位置具有读写权限。
运行 backupdatastore 实用程序的语法如下:
backupdatastore <backup_name>
为文件提供一个有意义的名称,这样在您希望恢复该数据时可以找到它。如果未指定名称,实用程序将向该文件分配一个默认名称。默认名称的格式为“数据存储名称-时间戳”。例如,如果将数据存储命名为 corpds 且您是在 2014 年 7 月 10 日 14:25:49:554 UTC 创建的备份,则备份文件名称是 corpds-20140710142549554。
您需要确认是否希望创建备份。输入是或 y 继续执行备份创建。
提示:
如果希望将手动备份(包括禁止确认提示符的标记)改写为脚本,则请按以下示例操作:
backupdatastore --prompt no
在本示例中,数据存储将生成备份文件名称。为确保备份文件名称唯一,需要在脚本中执行此操作。
删除手动备份
如果您不再需要保留使用 backupdatastore 实用程序创建的备份文件(手动备份),则您可以运行 listbackups 实用程序获取特定备份文件的名称,然后运行 deletebackup 实用程序移除不需要的文件。例如,升级数据存储且确认所有要素图层按预期执行后,您可以删除升级之前创建的数据存储备份。
本示例中已删除数据库 preupgrade1104_bu。
./listbackups.sh Backup_Name Status Backup_Time Mode ==================================================================================== phase1proj_bu BackupComplete 2014-03-08 14:12 manual phase2proj_bu BackupComplete 2014-06-21 11:43 manual preupgrade_bu BackupComplete 2014-10-04 09:30 manual ds_gdt1oomh-20141103160748082 BackupComplete 2014-11-01 03:00 scheduled /deletebackup preupgrade1104_bu You are attempting to delete backup 'preupgrade1104_bu'. This operation is irreversible. Do you wish to continue (Yes or No)?yes Operation completed successfully
导出 ArcGIS Data Store 关系和场景图层切片缓存数据库
使用 ArcGIS Data Store 时,它将存储托管要素和场景图层的数据以及场景图层的切片缓存。您可以使用 exportmanageddb 实用程序导出托管要素和场景图层数据以及场景图层切片缓存。如果您希望将 ArcGIS Data Store 安装移动到具有其他操作系统的计算机或其他 ArcGIS Data Store 版本中时,则需要执行此操作。您将还会执行此操作,因此请备份场景图层和缓存。使用 importmanageddb 实用程序将数据库恢复至新的 ArcGIS Data Store 安装。
提示:
或者您可以使用已安装 Portal for ArcGIS 的 webgisdr 工具来创建包含关系和切片缓存数据存储的备份。有关使用此工具的详细信息,请参阅 Portal for ArcGIS 管理员指南中的 Web GIS 备份。
例如,如果在 Windows 服务器上运行 ArcGIS Data Store,但是您的信息技术部门将切换到 Linux 服务器,可执行以下操作将数据存储移动到新服务器上:
- 在 Linux 服务器上安装 ArcGIS Data Store,但不配置数据存储。
- 使用 exportmanageddb 实用程序从 Windows 服务器上的现有 ArcGIS Data Store 中导出。导出到新计算机可以访问的共享位置处。
在本示例中,已将数据存储导出至共享位置 \\sharedbox\exports 上名为 ds2move 的目录中。
exportmanageddb ds2move --destination \\sharedbox\exports
- 使用新计算机上的 importmanageddb 实用程序将文件导入至新 ArcGIS Data Store 安装中。指定 --bound true,使您的 ArcGIS Server 站点使用此新位置中的数据存储,并继续使用现有托管要素图层和场景图层。
在本示例中,新数据存储的数据目录为 /usr/arcgis/datastore。
importmanageddb ds2move --source-loc /net/sharedbox/exports/dbdump/ds2move --data-dir /usr/arcgis/datastore --server-admin siteadmin --server-password HeyeLee$ecur3 --bound true