Updating a disk snapshot schedule
Updating basic settings
To update basic settings of a disk snapshot schedule:
-
In the management console
, select the folder containing the schedule. -
Go to Compute Cloud.
-
In the left-hand panel, select
Snapshots. -
Navigate to the Snapshot schedules tab.
-
Next to the schedule you want to update, click
and select Edit. -
Edit disk snapshot schedule parameters as needed:
-
Name. The naming requirements are as follows:
- It must be from 2 to 63 characters long.
- It can only contain lowercase Latin letters, numbers, and hyphens.
- It must start with a letter and cannot end with a hyphen.
-
Description.
-
Under Create snapshots, select the disk snapshot frequency:
By hour,By day,By week, orBy cron expression. The snapshot creation time is specified in UTC±00:00 . -
In the Starting on field, set the start date for your schedule.
-
Select the disk snapshot retention policy:
- Store all snapshots: Enable to retain all disk snapshots created by this schedule.
- Only the last: Specify the number of the latest disk snapshots to retain or the number of days for which you want to retain the snapshots. Any other disk snapshots created by this schedule will be deleted automatically.
Note
There are quotas on the number and total size of disk snapshots in the cloud.
-
-
Click Save.
If you do not have the Yandex Cloud CLI installed yet, install and initialize it.
By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.
-
See the description of the CLI commands for managing schedules:
yc compute snapshot-schedule --help yc compute snapshot-schedule update --help -
Get a list of schedules in the default folder:
yc compute snapshot-schedule list --format yamlResult:
- id: fc852cvb1ipd5******** folder_id: e1ea8s8l71li******** created_at: "2022-09-28T13:25:02Z" ... expression: 10 19 ? * * snapshot_count: "7" snapshot_spec: {} -
Update the parameters of the selected schedule:
yc compute snapshot-schedule update <schedule_name_or_ID> \ --new-name <new_name_for_schedule> \ --description <description> \ --expression <cron_expression> \ --retention-period <disk_snapshot_retention_period> \ --snapshot-count <number_of_disk_snapshots> \ --start-at <start_date_and_time> \ --labels <labels>Where:
--new-name: New name for the schedule.--description: Description.--expression: Cron expression.--retention-period: Disk snapshot retention period in seconds (s), minutes (m), or hours (h).--snapshot-count: Number of retained disk snapshots. Use either--snapshot-countor--retention-period. Learn more about disk snapshot retention policies here.--start-at: Start date and time. You can also specify a period relative to the current time point, e.g.,"2022-12-31T16:39:00+05:00"or"2h".--labels: List of labels inkey=valueformat.
For more information about the
yc compute snapshot-schedule updatecommand, see this CLI reference.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.
-
Open the Terraform configuration file and edit the section specifying the schedule:
Example of specifying a schedule in Terraform configuration
resource "yandex_compute_snapshot_schedule" "default" { name = "my-name" schedule_policy { expression = "0 0 * * *" } snapshot_count = 1 snapshot_spec { description = "snapshot-description" labels = { snapshot-label = "my-snapshot-label-value" } } disk_ids = ["test_disk_id", "another_test_disk_id"] } -
Apply the changes:
-
In the terminal, go to the directory where you edited the configuration file.
-
Make sure the configuration file is correct using this command:
terraform validateIf the configuration is correct, you will get this message:
Success! The configuration is valid. -
Run this command:
terraform planYou will see a detailed list of resources. No changes will be made at this step. If the configuration contains any errors, Terraform will show them.
-
Apply the changes:
terraform apply -
Type
yesand press Enter to confirm the changes.
-
You can check the schedule update and settings using the management console
yc compute snapshot-schedule get <schedule_name>
-
Get a list of schedules using the list REST API method for the SnapshotSchedule resource or the SnapshotScheduleService/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.
-
Update a disk snapshot schedule using the update REST API method for the
SnapshotScheduleresource or the SnapshotScheduleService/Update gRPC API call.
Updating a disk list
To edit a list of disks for which snapshots are scheduled:
- In the management console
, select the folder containing the schedule. - Go to Compute Cloud.
- In the left-hand panel, select
Snapshots. - On the Snapshot schedules tab, select the schedule for which you want to update a disk list.
- Update the disk list:
-
To add a new disk, under Disks, click
Add disk. In the window that opens, choose a disk to add to the schedule and click Save.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.
-
To remove a disk, under Disks, next to the disk you want to remove from the schedule, click
and select Delete from schedule.
-
If you do not have the Yandex Cloud CLI installed yet, install and initialize it.
By default, the CLI uses the folder specified when creating the profile. To change the default folder, use the yc config set folder-id <folder_ID> command. You can also set a different folder for any specific command using the --folder-name or --folder-id parameter.
Add or remove disks using the add-disks and remove-disks commands.
To add disks:
-
See the description of the CLI commands for managing schedules:
yc compute snapshot-schedule --help yc compute snapshot-schedule add-disks --help -
Get a list of schedules in the default folder:
yc compute snapshot-schedule list --format yamlResult:
- id: fc852cvb1ipd5******** folder_id: e1ea8s8l71li******** created_at: "2022-09-28T13:25:02Z" ... expression: 10 19 ? * * snapshot_count: "7" snapshot_spec: {} -
Get disk IDs to add them to the schedule:
yc compute disk list --format yamlResult:
- id: epdcq9g3co9s******** folder_id: e1ea8s8l71li******** created_at: "2022-10-13T14:37:44Z" ... instance_ids: - fhm1c7u23aiq******** disk_placement_policy: {} -
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: {}
To remove disks:
-
See the description of the CLI commands for managing schedules:
yc compute snapshot-schedule --help yc compute snapshot-schedule remove-disks --help -
Get a list of schedules in the default folder:
yc compute snapshot-schedule list --format yamlResult:
- id: fc852cvb1ipd5******** folder_id: e1ea8s8l71li******** created_at: "2022-09-28T13:25:02Z" ... expression: 10 19 ? * * snapshot_count: "7" snapshot_spec: {} -
Get a list of disks in the current schedule:
yc compute snapshot-schedule list-disks <schedule_name_or_ID> \ --format yamlResult:
- id: epdcq9g3co9s******** folder_id: e1ea8s8l71li******** created_at: "2022-10-13T14:37:44Z" ... instance_ids: - fhm1c7u23aiq******** disk_placement_policy: {} -
Remove disks from the schedule:
yc compute snapshot-schedule remove-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: {}
- Get a list of schedules using the list REST API method for the SnapshotSchedule resource or the SnapshotScheduleService/List gRPC API call.
- Get a list of disks using the list REST API method for the Disk resource or the DiskService/List gRPC API call.
- Update the list of disks in a schedule using the updateDisks REST API method for the
SnapshotScheduleresource or the SnapshotScheduleService/UpdateDisks gRPC API call.
Examples
Updating the name of a schedule
-
Get a list of schedules in the default folder:
yc compute snapshot-schedule list --format yamlResult:
- id: fc852cvb1ipd5******** folder_id: e1ea8s8l71li******** created_at: "2022-09-28T13:25:02Z" ... expression: 10 19 ? * * snapshot_count: "7" snapshot_spec: {} -
Update the name of the selected schedule:
yc compute snapshot-schedule update sched-1 \ --new-name "my-schedule"Result:
done (3s) id: fc8e52mvchb2******** folder_id: e1ea8s8l71li******** ... expression: 36 14 */1 * * snapshot_count: "3" snapshot_spec: {}