Yandex Cloud
Search
Discuss with expertTry it for free
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
  • Marketplace
    • Featured
    • Infrastructure & Network
    • Data Platform
    • AI for business
    • Security
    • DevOps tools
    • Serverless
    • Monitoring & Resources
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
    • Price calculator
    • Pricing plans
  • Customer Stories
  • Documentation
  • Blog
© 2026 Direct Cursus Technology L.L.C.
Yandex Compute Cloud
    • All guides
      • Creating a snapshot
      • Getting disk snapshot info
      • Deleting a snapshot
      • Creating a snapshot schedule
      • Getting disk snapshot schedule info
      • Changing a snapshot schedule
      • Disabling and enabling a snapshot schedule
      • Encrypting an image
      • Configuring disk snapshot access permissions
      • Configuring snapshot schedule access permissions
      • Deleting a snapshot schedule
    • Viewing operations on service resources
    • Viewing metrics in Monitoring
    • NVIDIA driver update guide
  • Yandex Container Solution
  • Access management
  • Pricing policy
  • Terraform reference
  • Monitoring metrics
  • Audit Trails events
  • Release notes

In this article:

  • Setting up an automatic disk snapshot schedule
  • Examples
  • Daily snapshots
  1. Step-by-step guides
  2. Disk snapshots
  3. Creating a snapshot schedule

Creating a disk snapshot schedule

Written by
Yandex Cloud
Improved by
Danila N.
Updated at June 18, 2026
  • Setting up an automatic disk snapshot schedule
  • Examples
    • Daily snapshots

Setting up an automatic disk snapshot scheduleSetting up an automatic disk snapshot schedule

To set up an automatic disk snapshot schedule:

Management console
CLI
Terraform
API
  1. In the management console, select the folder containing the disk.

  2. Navigate to Compute Cloud.

  3. In the left-hand panel, select Snapshots.

  4. In the Snapshot schedules tab, click Create snapshot schedule.

  5. Under Launch schedule:

    • Specify the schedule settings:

      • Daily: Specify the frequency and start time.
      • By day of week: Specify the days and start time.
      • By month: Specify the frequency or months and start time.
      • Cron: Specify a cron expression.
    • In the Start date field, set the start date for your schedule.

  6. Under Storage settings, select the snapshot storage policy:

    • Store all snapshots: Enable to retain all snapshots created by this schedule.
    • Only the last: Specify the number of the latest snapshots to retain or the number of days for which to retain the snapshots. Any other snapshots created by this schedule will be deleted automatically.

    Note

    There are quotas on the number and total size of snapshots in the cloud.

  7. Optionally, under General information:

    • Enter a name for your schedule in the following format:

      • Length: between 3 and 63 characters.
      • It can only contain lowercase Latin letters, numbers, and hyphens.
      • It must start with a letter and cannot end with a hyphen.
    • Enter a schedule description.

    • Add schedule labels.

  8. Optionally, under Snapshot settings for snapshots that will be created according to this schedule:

    • Provide a description.
    • Add labels.
  9. Click Create.
    Wait until the schedule is created.

  10. On the page that opens, under Disks, click Add disk. In the window that opens, choose a disk to add to the schedule and click Save.

If you do not have the Yandex Cloud CLI yet, install and initialize it.

The folder used by default is the one specified when creating the CLI profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also specify a different folder for any command using --folder-name or --folder-id. If you access a resource by its name, the search will be limited to the default folder. If you access a resource by its ID, the search will be global, i.e., through all folders based on access permissions.

  1. See the description of the CLI commands for managing schedules:

    yc compute snapshot-schedule --help
    yc compute snapshot-schedule create --help
    
  2. Create a schedule:

    yc compute snapshot-schedule create <schedule_name> \
      --expression "<cron_expression>" \
      --start-at "<start_date_and_time>" \
      --retention-period "<snapshot_retention_period>" \
      --description "<schedule_description>" \
      --labels "<schedule_labels>" \
      --snapshot-description "<snapshot_description>" \
      --snapshot-labels "<snapshot_labels>"
    

    Where:

    • --expression: Cron expression. This is a required setting.
    • --start-at: Schedule start date and time in RFC3339 format.
    • --retention-period: Snapshot retention period. Specified in duration format, for example: 300ms, 1.5h, or 2h45m. Use either --retention-period or --snapshot-count.
    • --snapshot-count: Maximum number of snapshots per disk. Use either --snapshot-count or --retention-period.
    • --description: Schedule description.
    • --labels: Schedule labels in key=value format.
    • --snapshot-description: Snapshot description.
    • --snapshot-labels: Snapshot labels in key=value format.

    Result:

    id: fd8uhc5qcinv********
    folder_id: b1g681qpemb4********
    created_at: "2026-05-25T21:03:22Z"
    name: my-schedule
    description: for my disks
    status: ACTIVE
    schedule_policy:
      start_at: "2027-01-02T15:04:05Z"
      expression: 30 0 * * *
    retention_period: 3600s
    snapshot_spec:
      description: my snapshot
    

    Note

    The snapshot creation time is specified in UTC±00:00.

    For more information about the yc compute snapshot-schedule create command, see the CLI reference.

  3. To add disks to your schedule, get disk IDs:

    yc compute disk list --format yaml
    

    Result:

    - id: epdcq9g3co9s********
      folder_id: e1ea8s8l71li********
      created_at: "2022-10-13T14:37:44Z"
    ...
      instance_ids:
        - fhm1c7u23aiq********
      disk_placement_policy: {}
    

    You can create snapshots of network disks and drives, such as HDDs, SSDs, and non-replicated SSDs, as well as ultra high-speed network storages with three replicas (SSD).

    For non-replicated SSDs and ultra high-speed network storages with three replicas (SSD), the snapshot time is not determined.

    To create snapshots of local disks residing on dedicated hosts, use Yandex Cloud Backup. This service supports Ubuntu, CentOS, CentOS Stream, and Windows Server.

  4. Add disks to the schedule:

    yc compute snapshot-schedule add-disks <schedule_name_or_ID> \
      --disk-id <disk_1_ID>,<disk_2_ID>
    

    Result:

    done (3s)
    id: fc8e52mvchb2********
    folder_id: e1ea8s8l71li********
    ...
      expression: 36 14 */1 * *
    snapshot_count: "3"
    snapshot_spec: {}
    

If you do not have Terraform yet, install it and configure the Yandex Cloud provider.

To manage infrastructure using Terraform under a service account or user accounts (a Yandex account, a federated account, or a local user), authenticate using the appropriate method.

  1. In the Terraform configuration file, describe the resource you want to create:

    resource "yandex_compute_snapshot_schedule" "default" {
      schedule_policy {
        expression = "<cron_expression>"
        start_at   = "<start_date_and_time>"
      }
    
      retention_period = "<snapshot_retention_period>"
      name             = "<schedule_name>"
      description      = "<schedule_description>"
      labels           = {
        <schedule_label_key> = "<schedule_label_value>"
      }
    
      snapshot_spec {
        description = "<snapshot_description>"
        labels      = {
          <snapshot_label_key> = "<snapshot_label_value>"
        }
      }
    
      disk_ids = ["<disk_1_ID>", "<disk_2_ID>"]
    }
    

    Where:

    • schedule_policy: Schedule properties:

      • expression: Cron expression. This is a required setting.
      • start_at: Date and time in RFC3339 format from which the schedule will run.
    • retention_period: Snapshot retention period. Specified in duration format, for example: "300ms", "1.5h", or "2h45m". Any other snapshots created by this schedule will be deleted automatically. Use either retention_period or snapshot_count.

    • snapshot_count: Maximum number of snapshots per disk. Use either snapshot_count or retention_period.

      Note

      There are quotas on the number and total size of snapshots in the cloud.

    • name: Schedule in the following format:

      • Length: between 3 and 63 characters.
      • It can only contain lowercase Latin letters, numbers, and hyphens.
      • It must start with a letter and cannot end with a hyphen.
    • description: Schedule description.

    • labels: Schedule labels in <key> = "<value>" format.

    • snapshot_spec: Properties of snapshots that will be created according to the schedule:

      • description: Snapshot description.
      • labels: Snapshot labels in <key> = "<value>" format.
    • disk_ids: IDs of disks to create snapshots for.

    You can create snapshots of network disks and drives, such as HDDs, SSDs, and non-replicated SSDs, as well as ultra high-speed network storages with three replicas (SSD).

    For non-replicated SSDs and ultra high-speed network storages with three replicas (SSD), the snapshot time is not determined.

    To create snapshots of local disks residing on dedicated hosts, use Yandex Cloud Backup. This service supports Ubuntu, CentOS, CentOS Stream, and Windows Server.

    Learn more about the yandex_compute_snapshot_schedule resource properties in the Terraform provider guide.

  2. Create the resources:

    1. In the terminal, navigate to the configuration file directory.

    2. Make sure the configuration is correct using this command:

      terraform validate
      

      If the configuration is valid, you will get this message:

      Success! The configuration is valid.
      
    3. Run this command:

      terraform plan
      

      You will see a list of resources and their properties. No changes will be made at this step. Terraform will show any errors in the configuration.

    4. Apply the configuration changes:

      terraform apply
      
    5. Type yes and press Enter to confirm the changes.

This will create a schedule in the specified folder. You can check the new schedule and its settings using the management console or this CLI command:

yc compute snapshot-schedule get <schedule_name>
  1. Get a list of disks using the list REST API method for the Disk resource or the DiskService/List gRPC API call.

    You can create snapshots of network disks and drives, such as HDDs, SSDs, and non-replicated SSDs, as well as ultra high-speed network storages with three replicas (SSD).

    For non-replicated SSDs and ultra high-speed network storages with three replicas (SSD), the snapshot time is not determined.

    To create snapshots of local disks residing on dedicated hosts, use Yandex Cloud Backup. This service supports Ubuntu, CentOS, CentOS Stream, and Windows Server.

  2. Create a snapshot schedule using the create REST API method for the SnapshotSchedule resource or the SnapshotScheduleService/Create gRPC API call.

Snapshots will be created and deleted automatically only while the schedule has the ACTIVE status.

ExamplesExamples

Daily snapshotsDaily snapshots

CLI

To set up daily snapshots:

  1. Create a schedule using a cron expression:

    yc compute snapshot-schedule create sched-1 \
      --description "Daily" \
      --expression "10 16 ? * *" \
      --start-at "2022-12-31T19:04:05+03:00" \
      --snapshot-count 7 \
      --labels "machine=file-server"
    

    This will create a schedule with the following parameters:

    • Name: sched-1; description: Daily.
    • Snapshots taken daily at 19:10 Moscow time.
    • Start date: December 31 at 19:04 Moscow time.
    • Last seven snapshots retained.
    • Label: machine; label value: file-server.
  2. Get disk IDs to add them to the schedule:

    yc compute disk list --format yaml
    

    Result:

    - id: epdcq9g3co9s********
      folder_id: e1ea8s8l71li********
      created_at: "2022-10-13T14:37:44Z"
      name: disk-2
      type_id: network-hdd
      zone_id: ru-central1-a
      size: "21474836480"
      block_size: "4096"
      product_ids:
        - f2euv1kekdgv********
      status: READY
      source_image_id: fd88d14a6790********
      instance_ids:
        - ephothb6lppn********
      disk_placement_policy: {}
    - id: fhm7mip40dqh********
      folder_id: e1ea8s8l71li********
      created_at: "2022-10-10T05:00:04Z"
      name: disk-1
      type_id: network-hdd
      zone_id: ru-central1-a
      size: "21474836480"
      block_size: "4096"
      product_ids:
        - f2euv1kekdgv********
      status: READY
      source_image_id: fd88d14a6790********
      instance_ids:
        - fhm1c7u23aiq********
      disk_placement_policy: {}
    
  3. Add disks to the schedule:

    yc compute snapshot-schedule add-disks sched-1 \
      --disk-id epdcq9g3co9s********,fhm7mip40dqh********
    

    Result:

    done (3s)
    id: fc8bplhqmh2b********
    folder_id: e1ea8s8l71li********
    created_at: "2022-10-03T13:28:01Z"
    name: sched-1
    description: Daily
    labels:
      machine: file-server
    status: ACTIVE
    schedule_policy:
      start_at: "2022-12-31T16:04:05Z"
      expression: 10 16 ? * *
    snapshot_count: "7"
    snapshot_spec: {}
    

See alsoSee also

  • Disabling and enabling a disk snapshot schedule.
  • Updating a disk snapshot schedule.
  • Deleting a disk snapshot schedule.
  • Creating a disk snapshot manually.

Was the article helpful?

Previous
Deleting a snapshot
Next
Getting disk snapshot schedule info
© 2026 Direct Cursus Technology L.L.C.