Scheduling Cloud Backups (CLI)

Before you can configure a cloud backup, you must configure a cloud target, see Configuring Cloud Backup and Restore Operations.

Use the following procedure to schedule cloud backups of a share.

Previously, users needed to manually generate a snapshot before performing a backup. To create incremental backups, they also needed to manage the parent snapshots and use these as the basis for subsequent backups.

To simplify the process, manual snapshot management is no longer required. Now, the system automatically generates a system snapshot before each backup, similar to replication and automated snapshots. Then, the system retains and reuses the system snapshots for incremental backups, eliminating manual snapshot tracking and maintenance.

Snapshots to be used for backups can be taken half-hourly, hourly, daily, weekly, or monthly and are named .cloud-<targetId>:<format>:<timestamp>. For example .cloud-eca5c5e2-79ee-4e62-8ad1-d1f56cfc02a8:zfs:20251120T185100UTC. The backup itself is named <pool>/<collection>/<project>/<share>.cloud<targetId>:<format>:<timestamp>. For example p0/local/default/f0@.cloud-eca5c5e2-79ee-4e41-8jd1-d1f56cfc02a8:zfs:20251120T185100UTC

By combining incremental backups with scheduled full backups, you can achieve a good compromise between backup speed, storage efficiency, and recovery reliability. The incremental field sets how many incremental backups occur between full backups in your schedule. For example, if the incremental value is set to 1, the system first performs a full backup (a complete copy of all data). The next scheduled backup is an incremental backup (only changes since the last full backup). After this incremental, the system performs another full backup on the next cycle, and the pattern repeats: full → incremental → full → incremental.

  1. Go to shares and select the share you want to backup.
    hostname:> 
                         shares select myproject
                      
    hostname:shares myproject> 
                         select demo_share
                      
    hostname:shares myproject/demo_share>
  2. Enter backups.
    hostname:shares myproject/demo_share> 
                         backups
                      
    hostname:shares myproject/demo_share backups>
  3. Enter automatic.
    hostname:shares myproject/demo_share backups> 
                         automatic
                      
    hostname:shares myproject/demo_share backups automatic>
  4. Enter the create command to enter an uncommitted schedule context.
    hostname:shares myproject/demo_share backups automatic> 
                         create
                      
    hostname:shares myproject/demo_share backups automatic-001 (uncommitted)>
  5. Use the set command to set each field appropriately.
    1. Set the frequency to halfhour, hour, day, week, or month to indicate how often the backup is automatically taken.
    2. Set the day, hour, and minute to specify the precise time the ackup is automatically taken.

      For half-hourly or hourly backup, you can choose how many minutes after the half-hour or hour the backup is taken. For daily backup, you can choose the hour and minute the backup is taken, and for weekly or monthly backups, you can specify the day, hour, and minute.

    3. Set the incremental property to the number of incremental backups to be taken between full backups.
    hostname:shares myproject/demo_share backups automatic-001 (uncommitted)> 
                         set frequency=day
                      
                         frequency = day (uncommitted)
    hostname:shares myproject/demo_share backups automatic-001 (uncommitted)> 
                         set hour=14
                      
                              hour = 14 (uncommitted)
    hostname:shares myproject/demo_share backups automatic-001 (uncommitted)> 
                         set minute=30
                      
                            minute = 30 (uncommitted)
    hostname:shares myproject/demo_share backups automatic-001 (uncommitted)> 
                         set incremental=5
                      incremental = 5 (uncommitted)

    You can use the get command to view the current uncommitted settings.

    hostname:shares myproject/demo_share backups automatic-001 (uncommitted)> 
                         get
                      
                         frequency = day (uncommitted)
                               day = (unset)
                              hour = 14 (uncommitted)
                            minute = 30 (uncommitted)
                       incremental = 5 (uncommitted)
    
  6. Enter commit to commit the changes, and create the cloud backup schedule.
    hostname:shares myproject/demo_share backups automatic-001 (uncommitted)> 
                         commit
                      
                   

    You can use the list command to view the new schedule.

    hostname:shares myproject/demo_share backups automatic-001> 
                         list
                      
  7. Enter done to finish.
    hostname:shares myproject/demo_share sbackups automatic-001> 
                         done
                      
    hostname:shares myproject/demo_share snapshots>