Use this guide to understand how to delete from our CLI  snapshots present on a server..

This could be a workaround in situations when GUI is not available as the storage limit occupation was reached, or when a general cleaning is required

Deleting snapshots

There're different ways to delete a snapshot from CLI depending on your necessities. 

Here are some alternatives we provide for most common scenarios

When no date criteria is relevant

When no date criteria are relevant you can delete several snapshots, that will be canceled whit out a specific order criteria of data or size.

If the interest is to filter by schedules the snapshots to be deleted. 
There's a possibility to delete a number of snapshots considering only the type of schedule

For example: deleting 100 snapshots from the daily schedule of a specific datastore, or just all the snapshot related to that schedule.

Delete a number of snapshots 

Step 1: Verify how many snapshots are present on the system

  • zfs list -r -t snapshot | wc -l

Step 2:  Delete a number of snapshots without specific criteria

  • zfs list -r -t snapshot | awk '{ print $1 }' | head -n 1000 | xargs -L1 zfs destroy

    In the example above the number is 1000, feel free to modify this as required on your system

Delete snapshots with schedule criteria

To find the datastore path, use: zfs list 

Scenario 1: Delete all snapshots for a specific protection schedule

  • zfs list -r -t snapshot <datastore> | grep weekly |  awk '{ print $1 }' | xargs -L1 zfs destroy

    In this example  the schedule is "weekly", feel free to modify the input with the schedule of your interest

Scenario 2: Delete a number of snapshots for a specific protection schedule

  • zfs list -r -t snapshot <datastore> | grep weekly |  awk '{ print $1 }' | head -n 100 | xargs -L1 zfs destroy

When the date is relevant

in case you're looking to delete a specific amount of snapshots, or a single snapshot, based on the date of creation, follow the bellow steps :

Delete a single snapshot 

To find the datastore path, use: zfs list

Step 1: List the datastore snapshots

  • zfs list -r -t snapshot flash/datastores/vm

    In the above example "vm" is the datastore name

Step 2: Delete the single snapshot of your interest

  • zfs destroy flash/datastores/vm@auto:minute-by-minute-flash--datastores--vm-2021-03-10-17:48

          Remember to be logged as sudoer, otherwise you will get permission error

Delete a selected group of snapshots

Step 1: List the datastore snapshots

  • zfs list -r -t snapshot flash/datastores/vm

Step 2: Identify the slot of snapshots you're interested to delete, and define which is the first and the last of it

In the above you will see an example of the slot of our interest in red and the first and last snapshot in yellow.

Meaning, we are looking to delete all the protections for the datastore "VM", between  17:48 and 17:55 of the 10/03/2021

Step 3: Delete

  • To delete gather the entire path of the snapshot you defined as first and collect the path information on the last one from the "@"
    With this information proceed as follows:
  • zfs destroy flash/datastores/vm@auto:minute-by-minute-flash--datastores--vm-2021-03-10-17:48%auto:minute-by-minute-flash--datastores--vm-2021-03-10-17:55

In case of errors please contact our Support Team
How to open a ticket with our Costumer Support Team
How to get in touch with Syneto Customer Support