CockroachDB-备份与恢复(4)管理备份计划

您可以在cockachdb中为定期备份创建时间表。一旦创建了备份计划,您可以执行以下操作:

  • 为备份计划设置监视
  • 查看定时备份详细信息
  • 查看和控制备份计划
  • 查看和控制由计划发起的备份
  • 从计划备份中恢复

创建备份计划

要创建一个新的备份计划,请使用create schedule FOR backup语句。例如:

CREATE SCHEDULE schedule_label
  FOR BACKUP INTO 's3://test/backups/test_schedule_1?AWS_ACCESS_KEY_ID={KEY ID}&AWS_SECRET_ACCESS_KEY={SECRET ACCESS KEY}'
    WITH revision_history
    RECURRING '@daily'
    WITH SCHEDULE OPTIONS first_run = 'now';

在本例中,创建了一个标记为schedule_label的调度,用于使用AWS S3中的修订历史进行每日(增量)备份,现在进行第一次备份。默认情况下,还会为每周的完全备份创建第二个计划。两个调度都有相同的标签(即schedule_label)。

设置监视备份计划

我们建议您使用Prometheus监视备份计划,并在出现异常时发出警报,例如备份失败或在一定时间内没有备份成功——这时,您可以通过运行SHOW schedules来检查计划。
计划备份的度量分为两类:

  • 备份计划相关的指标,跨所有计划聚合:

    schedules_backup_started:一个由计划启动的备份总数的计数器
    schedules_BACKUP_succeeded:一个由成功的调度启动的备份数量的计数器
    schedules_BACKUP_failed:由失败的调度启动的备份数量的计数器
    当schedule_backup_failed增加时,运行SHOW SCHEDULES以检查哪个计划受到影响,并检查status列中的错误。

  • 计划相关的指标:

    schedules.round.resschedule -wait:由于当前运行的作业而重新调度的调度的数量。大于0的值表示在应该启动新的计划备份时,以前的备份仍在运行。这对应于on_previous_running=wait调度选项。
    schedules.round.resschedule -skip:由于当前运行的作业而被跳过的调度数量。大于0的值表示在应该启动新的计划备份时,以前的备份仍在运行。这对应于on_previous_running=skip schedule选项。

查看备份计划详细

当计划创建备份时,它存储在给定位置的备份集合中。要查看计划创建的备份的详细信息,可以使用以下命令:
SHOW BACKUPS IN collectionURI语句查看完整备份的子目录列表。
SHOW BACKUP FROM subdirectory IN collectionURI语句查看存储在特定完全备份的子目录中的完整备份和增量备份的列表。
有关详细信息,请参见SHOW BACKUP。

查看并控制备份计划

成功创建备份时间计划后,您可以查看时间计划、暂停时间计划、恢复时间计划或删除时间计划。

SHOW SCHEDULES;
PAUSE SCHEDULE 589963390487363585;
RESUME SCHEDULE 589963390487363585;
DROP SCHEDULE 589963390487363585;

查看和控制由计划发起的备份

在cockachdb成功启动计划备份之后,它将备份注册为作业。您可以查看、暂停、恢复或取消每个备份作业。

SHOW JOBS FOR SCHEDULE 590204387299262465;
SHOW JOBS FOR SCHEDULES WITH x AS (SHOW SCHEDULES) SELECT id FROM x WHERE label = 'test_schedule';
PAUSE JOBS FOR SCHEDULE 590204387299262465;
RESUME JOBS FOR SCHEDULE 590204387299262465;
CANCEL JOBS FOR SCHEDULE 590204387299262465;

从计划备份中恢复

要从计划备份中恢复,使用restore语句:

RESTORE
    FROM '2020/08/19-035600.00' IN 's3://test/backups/test_schedule_1?AWS_ACCESS_KEY_ID={KEY ID}&AWS_SECRET_ACCESS_KEY={SECRET ACCESS KEY}'
    AS OF SYSTEM TIME '2020-08-19 03:50:00+00:00';

你可能感兴趣的:(CockroachDB,云计算)