Create Backup Schedule

This article explains how to create a schedule to automatically start backups.

Backup scheduling is based on full backups and incremental backups. For more information, see Backup Essentials.

Prerequisites

You must have an archive volume for the backups. For more information, see Create Remote Archive Volume.

Procedure

Do not add or remove nodes on the archive volume or on the data volume being backed up while a backup is in progress.

Do not stop the database while a backup is in progress.

This procedure uses the command-line tool confd_client, which is available on all database nodes. You can also access ConfD through XML-RPC in your own Python programs. For more information, see ConfD.

Placeholder values are indicated with UPPERCASE characters. Replace the placeholders with your own values.

  1. Connect to the cluster operating system (COS) using c4 connect -i PLAY_ID -s cos.

    Example:
    Copy
    ./c4 connect -i c3275f84 -s cos

    For more information about how to use c4 connect, see How to use c4.

  2. To find the database name when you are connected to COS, use the ConfD job db_list.

    Example:
    Copy
    confd_client db_list
    - MY_DATABASE
  3. To find information about available archive volumes:

    Remote archive volumes

    To find the names of available remote archive volumes, use the ConfD job remote_volume_list:

    Copy
    confd_client remote_volume_list

    To find the volume ID of a remote archive volume, use the ConfD job remote_volume_info. The ID is stored under “vid”.

    Copy
    confd_client remote_volume_info remote_volume_name: VOLUME_NAME

    By default, an S3 bucket is created during deployment and configured as a remote archive volume with the name cloud_data_remote_volume.

    Remote archive volume IDs typically start at 10001.

    See also Create Remote Archive Volume.

    You can also use the Administration API to get information about the database, archive volumes, and existing backups. For more information, see List Backups.

  4. To create the backup schedule, use the ConfD job db_backup_add_schedule.

    A common backup schedule is a weekly backup with an expiration of 10 days and incremental backups Monday - Saturday with an expiration time of 3 days. To set up this configuration, create two backup schedules. For example:

    Copy
    confd_client db_backup_add_schedule db_name: MY_DATABASE backup_name: weekly_full_backup backup_volume_name: VOLUME_NAME enabled: true level: 0 expire: '1w 3d'  minute: 0 hour: 0 day: '*' month: '*' weekday: 0
    Copy
    confd_client db_backup_add_schedule db_name: MY_DATABASE backup_name: daily_incremental backup_volume_name: VOLUME_NAME enabled: true level: 1 expire: '3d'  minute: 0 hour: 0 day: '*' month: '*' weekday: '1,2,3,4,5,6'

Verification

To verify that the schedule was created, use the ConfD job db_info. Information about backups is found in the config: section.

Copy
confd_client db_info db_name: MY_DATABASE

Example output:

Copy
config:
  _sec_name: 'DB : Exasol'
  auto_start: true
  backups:
    daily_incremental:
      day: '*'
      enabled: true
      expire: 259200
      hour: '0'
      level: 1
      minute: '0'
      month: '*'
      volume: r0002
      weekday: 1,2,3,4,5,6
    weekly_full_backup:
      day: '*'
      enabled: true
      expire: 864000
      hour: '0'
      level: 0
      minute: '0'
      month: '*'
      volume: r0002
      weekday: '0'